app:itemBackground属性无法按预期工作

时间:2015-07-03 13:36:13

标签: android material-design navigationview

我正在尝试为@echo off color a :loop set comm= title %username%@%computername% : %cd% set /p comm=[%username%@%computername%] if "%comm%"=="" goto loop if exist "%cd%"\%comm%.* ( call "%cd%"\%comm% 2>nul ) goto error :error echo '%comm%' is not recognized as a programm or command. goto loop :nosw @echo off cls echo Access Denied. pause 创建自定义选择器,但它没有效果。这是我的代码:

NavigationView

选择器是<android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_height="match_parent" android:layout_width="wrap_content" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header" app:menu="@menu/drawer_view" app:itemBackground="@drawable/state_list_drawer_background" /> ,这是代码:

state_list_drawer_background.xml

我只能看到透明选择器,而不是自定义选择器。然后,我发现<selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Checked state --> <item android:drawable="@drawable/background_checked" android:state_checked="true" /> <!-- This is the default background color --> <item android:drawable="@drawable/background_normal" /> </selector> 的限制已记录为 here

  

NavigationView的itemBackground属性无法正确处理项目的已检查状态:不知何故,所有项目都突出显示,或者都没有。这使得该属性基本上无法用于大多数应用程序。

但是,有些开发人员可以设置自定义选择器,例如Dark Theme上的tTorrent app。我想知道他们怎么做!

任何人都可以帮我解决这个问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

请填写https://code.google.com/p/android/issues/list上的错误报告。

我打赌tTorrent不使用NavigationView来实现主菜单 我也没有,我发现创建自己的自定义布局更容易,更灵活。

答案 1 :(得分:0)

您必须在选择器中定义颜色,如下所示: 内:可拉伸/ item_selector.xml

<item android:color="#8C9EFF" android:state_checked="true" />
<!-- This is the default text color -->
<item android:color="#FFFFFF" />