我使用 Android Studio 来实现导航抽屉,但我无法获得用于显示我们当前要更改的部分的蓝色。
我已经尝试了很多东西,我目前正在使用一个 listSelector,它看起来像:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@color/selected" />
<item android:state_pressed="true" android:drawable="@color/highlight" />
</selector>
我也试过了state_checked
。state_pressed
在这种情况下工作,但当前选定的项目仍然是蓝色的。
编辑:我一直在研究这个,当创建适配器时,传递的上下文是getActionBar().getThemedContext()
所以我在想如果我能找到正确的属性来分配给我的操作栏样式,我可以从那里改变它。我尝试了一些不同的属性,但没有运气。有谁知道确切的属性?
我也意识到,如果我把
<item name="android:activatedBackgroundIndicator">@drawable/nav_listview_selector</item>
在我的主题的主要部分并更改getActionBar().getThemedContext()
,getActivity.getBaseContext
然后我可以更改颜色,但我认为这不是正确的方法。我认为应该使用主题上下文。因此,如果有人知道activatedBackgroundIndicator
可以将其放在哪里以便将其用于getActionBar.getThemedContext()
编辑2:
因此,用于列表视图的文本视图是 SDK 中的一个,它看起来像这样:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:background="?android:attr/activatedBackgroundIndicator"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
/>
所以我尝试"?android:attr/activatedBackgroundIndicator"
在主题级别修改,但它对选中/选择/激活没有影响,但它对按下有影响。有人知道为什么吗?我该如何改变它?