Ho recentemente iniziato a convertire la mia app Android per utilizzare l'ultima libreria di supporto denominata supporto: design.Supporto Android: design Elementi sottostanti del menu controllato di NavigationView
Durante l'implementazione del nuovo NavigationView mi sono imbattuto in un problema nella visualizzazione delle voci di menu selezionate.
mio navdrawer_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/navigation_item_home"
android:icon="@drawable/ic_home_black"
android:title="@string/navdrawer_item_home" />
</group>
<item
android:id="@+id/navigation_subheader"
android:title="@string/navdrawer_subheader_title1">
<menu>
<group android:checkableBehavior="single">
<item
android:id="@+id/navigation_sub_item1"
android:icon="@drawable/ic_home_black"
android:title="@string/navdrawer_sub_item1" />
</group>
</menu>
</item>
</menu>
successivo ho impostato voce del menu per controllare nel mio onNavigationItemSelected:
@Override
public boolean onNavigationItemSelected(final MenuItem menuItem) {
menuItem.setChecked(true);
drawerLayout.closeDrawer(GravityCompat.START);
mDrawerActionHandler.postDelayed(new Runnable() {
@Override
public void run() {
displayView(menuItem.getItemId());
}
}, DRAWER_CLOSE_DELAY_MS);
return true;
}
Questa grande opera se io uso solo normali voci di menu tra i tag ma lo fa non funziona molto bene per i sottotitoli. Facendo clic sugli elementi secondari non li imposterai finché non avrò fatto clic due volte sullo stesso elemento e non deselezionerà alcun elemento che è stato controllato in precedenza.
Si finisce per assomigliare a questo:
Questo è un bug della libreria di supporto Android: https://code.google.com/p/android/issues/detail?id=175216 – sromku