Je suis un super débutant avec une semaine de développement Android. J'ai créé un simple OptionMenu comme sortie. Il a fallu beaucoup de temps pour l'implémenter, donc j'espère que cela sera utile pour les mêmes débutants.
Une application ultra-simple qui change le message affiché lorsque vous appuyez sur le bouton Enregistrer installé en haut à droite de l'écran
option_menu.xml
//Supprimez toutes les premières instructions par défaut et écrivez ce qui suit
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/option_save"
android:title="sauvegarder"
app:showAsAction="always" />
</menu>
android: id: clé pour lier le fichier de mise en page et le fichier java android: texte: Chaîne de caractères à afficher sur l'écran principal
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
//Jouez juste avec l'identifiant et le texte
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Appuyez sur le bouton Enregistrer"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Considérez les deux méthodes suivantes comme des règles d'implémentation des menus d'options. onCreateOptionsMenu(Menu menu) onOptionsItemSelected(MenuItem item)
MainActivity.java
public class MainActivity extends AppCompatActivity {
//Laissez la valeur par défaut ok
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//Affichage du menu d'options (bouton Enregistrer)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// MenuInflater(Classe pour gonfler les menus en objets Java)Avoir
MenuInflater inflater = getMenuInflater();
// option_menu.Gonfler les éléments de menu décrits en XML en objets Java
inflater .inflate(R.menu.option_menu, menu);
//Renvoie la valeur de retour
return true;
}
//Traitement lorsque le menu d'options (bouton Enregistrer) est sélectionné
@Override
public boolean onOptionsItemSelected(MenuItem item)
// activity_main.Obtenir TextView de xml
TextView textView = findViewById(R.id.text_view);
//Placer une nouvelle chaîne de caractères dans le texte acquis
textView.setText("Le bouton Enregistrer a été enfoncé");
//Renvoie la valeur de retour
return true;
}
}
Puisque je suis un super débutant, veuillez signaler toute différence.
・ Https://developer.android.com/guide/topics/ui/menus?hl=ja#options-menu ・ Https://qiita.com/watataku/items/5faad0384b54d0c53f6e Merci beaucoup!