Comment conserver le mode simple checklabehavior dans le menu de tiroir pour NavigationView lorsque nous ajoutons une section?
j'ai essayer de mettre en œuvre un tiroir avec un nouveau composant de la conception de matériel : la fenêtre des éléments.
C'est le travail très bien. Quand je sélectionne un élément change sa couleur changer bien avec android:checkableBehavior="single"
.
<group
android:checkableBehavior="single">
<item
android:id="@+id/drawer_home"
android:checked="true"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/home"/>
<item
android:id="@+id/drawer_favourite"
android:icon="@drawable/ic_favorite_black_24dp"
android:title="@string/favourite"/>
...
<item
android:id="@+id/drawer_settings"
android:icon="@drawable/ic_settings_black_24dp"
android:title="@string/settings"/>
</group>
Le problème viens quand j'essaie d'utiliser l'article dans le tiroir. C'est cette affaire, Je ne peux pas utiliser android:checkableBehavior="single"
et j'ai perdu le changement de couleur dans la sélection d'un élément.
<item
android:id="@+id/section"
android:title="@string/section_title">
<menu>
<item
android:id="@+id/drawer_favourite"
android:icon="@drawable/ic_favorite_black_24dp"
android:title="@string/favourite"/>
<item
android:id="@+id/drawer_downloaded"
android:icon="@drawable/ic_file_download_black_24dp"
android:title="@string/downloaded"/>
</menu>
</item>
2 réponses
essaye ceci:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/drawer_home"
android:checked="true"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/home"/>
<item
android:id="@+id/drawer_favourite"
android:icon="@drawable/ic_favorite_black_24dp"
android:title="@string/favourite"/>
...
<item
android:id="@+id/drawer_settings"
android:icon="@drawable/ic_settings_black_24dp"
android:title="@string/settings"/>
<item
android:id="@+id/section"
android:title="@string/section_title">
<menu>
<group android:checkableBehavior="single">
<item
android:id="@+id/drawer_favourite"
android:icon="@drawable/ic_favorite_black_24dp"
android:title="@string/favourite"/>
<item
android:id="@+id/drawer_downloaded"
android:icon="@drawable/ic_file_download_black_24dp"
android:title="@string/downloaded"/>
</group>
</menu>
</item>
</group>
</menu>
vous pouvez vérifier cette solution pour plus de détails.. je suis incapable de définir un élément de sous-menu que checked
comme solution de contournement jusqu'à ce que le bug signalé par Fondesa soit corrigé, vous pouvez utiliser ceci:
Menu Définition
<item android:checkable="true" ...>
Style
<item android:state_selected="true" android:color="@color/error_color"/>
ceci activera correctement l'élément du menu lorsqu'il est sélectionné.
Notez que ce ne permettront pas de répondre à l'exigence:
android:checkableBehavior="single"
vous devrez gérer cela manuellement.