【发布时间】:2013-11-09 11:23:56
【问题描述】:
我将解释(或至少尝试一下)我想要实现的目标,因为这让我发疯。
我有一个 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...),但没有任何效果。我正在尝试搜索解决方案,但似乎找不到合适的关键字来搜索。
有什么想法吗?
谢谢!
【问题讨论】:
-
您是否尝试将背景 (item_background) 设置为布局的根 FrameLayout(具有 10dp 填充)?
-
我可以尝试一下,以确保它在那里工作。我会尽快做的。
-
我刚刚尝试过,但它也不起作用。现在我很困惑。
-
我刚刚做了另一个测试。在我的 ListView 中,我使用 '@color/transparent' 作为列表选择器(我不希望整个项目在我选择/按下它时变成蓝色,我想要完全控制)。我只是将默认选择器设置为进行一些测试并且效果很好,但是 FrameLayout 背景仍然没有改变(即使我将它放在根 FrameLayout 中)。我想我必须使用自定义列表选择器使其工作。
标签: android android-layout android-listview android-listfragment