新しいNavigationViewにタイトルサブグループのないディバイダーを配置するにはどうすればよいですか?
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<group Android:checkableBehavior="single">
<item
Android:id="@+id/drawer_armario"
Android:icon="@drawable/armario"
Android:title="@string/armario" />
<item
Android:id="@+id/drawer_amigos"
Android:icon="@drawable/amigos"
Android:title="@string/amigos" />
</group>
<item Android:title="Configuración">
<menu>
<item
Android:id="@+id/drawer_ajustes"
Android:icon="@drawable/ajustes"
Android:title="@string/ajustes" />
<item
Android:id="@+id/drawer_ayuda"
Android:icon="@drawable/ayuda"
Android:title="@string/ayuda" />
<item
Android:id="@+id/drawer_sign_out"
Android:icon="@drawable/sign_out"
Android:title="@string/sign_out" />
</menu>
</item>
Amigosとajustesの間に、Configuraciónタイトルのない行を追加したいと思います。
ありがとう!!!
必要なのは、一意のIDを使用してgroup
を定義することだけです。 NavigationView
の実装を調べたところ、グループIDが変更されるたびに仕切りが作成されました。
例えば.
<group Android:id="@+id/my_id">
<!-- Divider will appear above this item -->
<item ... />
</group>
私はこれを試してみましたがうまくいきました
これは私のメニューファイルであり、セパレータを作成しています:
<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=".MyFirstMNCActivity">
<group Android:id="@+id/grp1">
<item
Android:id="@+id/navigation_item_1"
Android:checked="true"
Android:icon="@drawable/ic_home"
Android:title="@string/navigation_item_1" />
</group>
<group Android:id="@+id/grp2">
<item
Android:id="@+id/navigation_item_2"
Android:icon="@drawable/ic_home"
Android:title="@string/navigation_item_2" />
</group>
</menu>
NavigationView navigationView = (NavigationView) findViewById(R.id.navigation);
NavigationMenuView navMenuView = (NavigationMenuView) navigationView.getChildAt(0);
navMenuView.addItemDecoration(new DividerItemDecoration(appContext,DividerItemDecoration.VERTICAL_LIST));
これがDividerItemDecorationの要点です
xmlを使用
<Android.support.design.widget.NavigationView
...
app:itemIconTint="@Android:color/black"
... />
プログラムで
yourNavigationView.setItemIconTintList(null);
いい答えだと思います。
幸運。