Ajouter des boutons à une Toolbar

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonsoir les couche-tard !

Dites, je suis en train de me battre avec Android. J'ai une activité à laquelle j'ai ajouté une toolbar, dont voici le layout.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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"
    android:fitsSystemWindows="true"
    tools:context="com.example.richou.mom.MainScreen">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/MainScreen_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:elevation="4dp"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay"
            />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main_screen" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/MainScreen_Fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@drawable/add" />

</android.support.design.widget.CoordinatorLayout>

J'aimerais ajouter quelques actions à cette toolbar. Voici la page de doc qui en parle. J'ai donc créé une ressource menu, que voici :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<menu 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"
    tools:context=".MainScreen">
    <item
        android:id="@+id/MainScreen_settings"
        android:orderInCategory="100"
        android:icon = "@drawable/ic_settings_white_24dp"
        android:title="@string/MainScreen_settings"
        app:showAsAction="ifRoom" />
</menu>

Et, dans mon activité, j'ai ça

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
public class MainScreen extends AppCompatActivity {

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

        Toolbar toolbar = (Toolbar) findViewById(R.id.MainScreen_toolbar);
        setSupportActionBar(toolbar);
    }
}

Cependant, le menu ne s'affiche pas sur mon activité, et la doc ne mentionne rien d'autre. :(

Est-ce que j'aurais raté quelque chose ? :(

Auteur du sujet

Oui, j'avais vu ça sur Internet, mais AndroidStudio se plaint que onCreateOptionsMenu() n'override pas une méthode de AppCompatActivity.

J'avais essayé de remplacer l'héritage par AppBarActivity mais ce coup-ci, AndroidStudio me dit que cette classe est dépréciée. :(

Oui, j'avais vu ça sur Internet, mais AndroidStudio se plaint que onCreateOptionsMenu() n'override pas une méthode de AppCompatActivity.

Qu'est ce que tu entends par là ? Parce que ce qui est certain, c'est que tu dois surcharger la méthode onCreateOptionsMenu() (peu importe ton activité).

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte