Conception de l'interface utilisateur selon l'approche déclarative
Selon cette approche, XML est utilisé pour tout : créer les chaînes de caractères, faire la mise en page, créer les composants de l'interface utilisateur et assigner les gestionnaires d'événements.
L'application "Hellodroid XML" affiche un message dans un toast lorsque l'on clique sur un bouton.
MainActivity.java
package net.codeandroid.hellodroidxml; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // interface utilisateur déclarée dans un fichier XML setContentView(R.layout.activity_main); } // gestionnaire d'événement (ici sous forme de classe interne) public void afficherToast(View bouton) { // chaînes déclarées dans un fichier XML String message = getString(R.string.message); Toast temp = Toast.makeText(this, message, Toast.LENGTH_SHORT); temp.show(); } }
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/texte_fenetre" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/texte_bouton" android:onClick="afficherToast" /> </LinearLayout>
strings.xml
<resources> <string name="app_name">Hellodroid XML</string> <string name="texte_fenetre"> Pressez le bouton pour recevoir un gentil message de Bugdroid. </string> <string name="texte_bouton">Afficher le message</string> <string name="message">Bugdroid vous dit bonjour!</string> </resources>