我要解释(或者至少尝试一下)我想要实现的目标,因为这让我发疯了。
我有一个ListView,项目具有以下布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/item_background"
android:duplicateParentState="true" >
... some contents here...
</FrameLayout>
</FrameLayout>
“item_background.xml”包含一个选择器,因此背景会根据项目的状态而变化。当我按下并释放项目时它工作正常但是当我用DPAD /轨迹球选择项目时它不起作用。我已经尝试了所有东西(state_activated,state_focused,state_selected ......)但没有任何效果。我正在尝试搜索解决方案,但看起来我找不到合适的搜索关键字。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
最后我修好了。问题在于我将项目放在选择器中的顺序(我在state_selected =“true”之前放了一个state_pressed =“false”)。
现在它完美无瑕。
谢谢大家的帮助。
答案 1 :(得分:0)
这很可能不起作用,因为根布局上方的某些布局会获得焦点(如果没有布局的其余部分则难以辨别)。