J'utilise pour mon application le tiroir de navigation que vous pouvez ajouter au studio android et j'ai ajouté quelques entrées de menu au tiroir Nav (voir le bloc de code). Si j'appuie sur le premier élément (nav_home) ou sur le second, le tiroir de navigation met en surbrillance l'élément pressé actuel.Tiroir de navigation comment surligner l'élément sélectionné
Si j'appuie sur l'élément bouton « nav_information » ou un autre élément, le nouveau (cliqué) opend fragment et aucune mise en évidence est visible (la maison ou le deuxième élément est encore en surbrillance)
Peu de temps, seuls les premiers éléments montre la mise en évidence sur les éléments sélectionnés.
<?xml version="1.0" encoding="utf-8"?>
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_home_black"
android:title="Startseite" />
<item android:id="@+id/nav_greetings"
android:title="Grußwort"/>
</group>
<group android:checkableBehavior="single">
<item android:title="Neuigkeiten">
<menu >
<item
android:id="@+id/nav_information"
android:icon="@drawable/ic_info_black"
android:title="@string/title_activity_aktuelles" />
</menu>
</item>
</group>
....
C'est ainsi que je gère l'ouverture des fragments.
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
Fragment myFragment = null;
if (id == R.id.nav_home) {
drawer.setSelected(true);
myFragment = new MainScreen();
}else if (id == R.id.nav_greetings){
myFragment = new Greetings();
} else if (id == R.id.nav_information) {
myFragment = new Aktuelles();
} else if (id == R.id.nav_directions) {
myFragment = new Anfahrt();
} else if (id == R.id.nav_basilika) {
myFragment = new Rundabout();
} else if (id == R.id.nav_download) {
myFragment = new Downloads();
} else if (id == R.id.nav_history) {
myFragment = new History();
}else if(id == R.id.nav_hauptwallfahrt){
myFragment = new Hauptwallfahrt();
}else if (id == R.id.nav_themenwallfahrt){
myFragment = new Themenwallfahrt();
}else if (id == R.id.nav_pilgergruppen){
myFragment = new Pilgergruppen();
}else if (id ==R.id.nav_wallfahrtgodi){
myFragment = new Wallfahrtsgottesdienste();
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
// Replace the requestet Fragment
ft.replace(R.id.container, myFragment) ;
ft.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
Existe-t-il un moyen d '«activer» la surbrillance?
Merci d'avance!
Cela ne fonctionne pas plus – Denny
Cela a fonctionné pour moi –