我使用最新的Android设计支持库,导航视图有两组,一组用于使用android:checkableBehavior="single"
的片段,另一组用于"设置"one_answers"关于"等使用android:checkableBehavior="none"
的活动。
这在库的23.0.1版本之前运行良好,现在我只使用compile 'com.android.support:design:+'
。选择时会检查按钮。
这只是库中的一个错误,还是我必须为新版本更改一些内容?我在变更日志中找不到任何内容。
菜单:
<group
android:id="@+id/main"
android:checkableBehavior="single">
<item
android:id="@+id/navigation_fragment_1"
android:icon="@drawable/icon"
android:title="@string/fragment_1" />
</group>
<group
android:id="@+id/sub"
android:checkableBehavior="none">
<item
android:id="@+id/navigation_sub_settings"
android:title="@string/settings" />
</group>
</menu>
布局:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<RelativeLayout
android:id="@+id/layout_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar" />
</RelativeLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer" />
</android.support.v4.widget.DrawerLayout>
我的代码中有一个menuItem.setChecked(true);
(这对旧版本没有问题),但我想他们改变了一些东西,所以现在你可以手动检查菜单项,即使它们被设置为android:checkableBehavior="none"
。