Exemples de code Android

Une barre de recherche (composant SeekBar)

Ceci est un exemple minimaliste d'utilisation d'une barre de recherche (composant SeekBar). La barre est crée avec une valeur courante de 25 et un maximum de 50 (la valeur par défaut est 100).

À chaque déplacement du curseur (glissement du doigt), la valeur dans le TextView est mise à jour. Quand le curseur est relâché (soulèvement du doigt), un Toast affiche la valeur courante.

MainActivity.java

package net.codeandroid.exempleseekbar;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView texte = (TextView)findViewById(R.id.texte);
        texte.setText(Integer.toString(25)); // valeur de départ

        final SeekBar barre = (SeekBar)findViewById(R.id.barre);
        barre.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            int valeur;

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                valeur = progress;
                texte.setText(Integer.toString(progress));
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // rarement utilisé
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                Toast.makeText(getApplicationContext(),
                        "Valeur = " + valeur, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:padding="10dp">

    <TextView
        android:id="@+id/texte"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40sp">
    </TextView>

    <SeekBar
        android:id="@+id/barre"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:progress="25"
        android:max="50">
    </SeekBar>

</LinearLayout>