我在这里阅读了大量关于列表视图选择器的文章,但我无法让它工作。当我在列表视图中按下一行时,整个列表视图而不是所选项目会改变颜色。我正在使用 Listview 片段和自定义行。
首先,我的自定义行是这样开始的,样式将我的默认背景颜色和其他内容设置为我想要的内容。这里只是一些视图。如左图所示。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/darkBackdropList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
接下来,我有一个选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/selected"/>
</selector>
drawable/selected 只是浅灰色/蓝色:
<drawable name="selected">#8FBDAB</drawable>
在我的片段中,我这样做:
public class GuideListFragment extends ListFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getListView().setSelector(R.drawable.darklistselector);
}
}
当我的列表视图显示时,一切看起来都很好。但是当我选择一行时,覆盖整个活动的列表视图将颜色更改为“darklistselector”。
我尝试将其设置为自定义行背景,但在黑色、灰色/蓝色和白色之间更改整个屏幕变得更加奇怪。
谢谢你的帮助。