Tutoriel Android :utilisation des boutons et des Toasts
Dans ce tutoriel nous allons voir comment afficher un Toast (un message court) juste après le click sur le bouton.
Créer un nouveau projet Android comme décrit dans le tutoriel précédent .
Nous allons commencer par éditer le fichier "activity_main.xml" situé dans le dossier « res/layout ».
Effacer le contenu de ce fichier et mettez ce code la :
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/buttonToast"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Click here !" />
</LinearLayout>
Nous avons supprimé le code existant qui contient un TextView et nous avons mis un code qui contient un Button.
Le bouton a un id (identifiant) (android:id="@+id/buttonToast"), qui sera utilisé pour l’appeler dans votre code source java.
La largeur de notre bouton va occuper toute la largeur du conteneur (le conteneur est de type LinearLayout)(android:layout_width="fill_parent") mais pour la hauteur il va occuper juste l’espace nécessaire pour contenir le texte qui s’affichera sur le bouton (android:layout_height="wrap_content").
Le texte qui s’affichera sur le bouton est « Click here ! » (android:text="Click here !").
Maintenant nous nous occuperons du code java :
import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);} }
Actuellement, si nous lançons notre application et vous cliquez sur le bouton, rien ne se passera. Pour résoudre ce problème, nous allons ajouter du code pour définir l'action et c'est là que les Listeners entrent en jeu.
Qu'est-ce qu'un Listener?
Un écouteur (Listener), comme son nom l'indique, écoute une source jusqu'à son utilisation.
Pour une action à effectuer, il est nécessaire qu'un émetteur envoie un signal à l'écouteur qui est déclenché.
Action: Cliquez sur un bouton.
Listener: Écoutez lorsque le bouton est cliqué.
Il n'y a pas plus simple que cela, nous verrons un plus tard dans les exemples pour mettre en oeuvre un Listener.
Nous ne pouvons pas appeler directement notre bouton dans notre activité, nous devons récupérer son ID à partir du fichier XML.
Chaque activité (classe java qui hérite de la classe Activity) a une méthode findViewById qui sert à appeler un élément dans le layout (l’interface graphique), avec un paramètre l'identifiant de l'objet que vous souhaitez appeler. Il est stocké dans la ResourcesManager qui est appelé R (qui se trouve sous le dossier gen et qui contient toutes les ressources de votre projet, les ressource du projet sont situées sous le dossier Res).
Pour appeler le bouton situé dans le layout xml il faut mettre ce code :Button myButton = (Button)findViewById(R.id.buttonToast);
Un bouton ne peut pas faire l’action suite à un clics par lui-même, il a besoin d'un Listener, nous devons donc utiliser la méthode setOnClickListener. Quand un bouton est cliqué, le listener réagit et exécute le code de la méthode onClick. Nous devons donc ajouter ces lignes de code :
myButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub }});
Nous allons ajouter un court message qui s'affiche lorsque vous cliquez sur le bouton, le message est affiché via une classe nommée Toast (un message pop up qui s’affiche sur l’écran pour une courte durée).
La classe Toast possède une méthode statique appelé makeText, qui prend comme paramètres le contexte (notre activité actuel), le message à afficher et enfin une période de temps.
La période de temps peut être Toast.LENGTH_SHORT ou Toast.LENGTH_LONG.
Donc à l’intérieur de la méthode onClick mettez ce code :
Toast.makeText(MainActivity.this, "Hello !", Toast.LENGTH_SHORT).show();
Commentaires
Enregistrer un commentaire
Your comment will be reviewed by moderators