【发布时间】:2014-11-17 18:26:20
【问题描述】:
所以我有一个 ListView,我想更改每个项目背景和文本的颜色。此 ListView 位于 ListFragment 内。我的代码扩充了onCreateView 中的布局,并扩充了newView 中每个项目的布局。
android:state_pressed="true" 工作正常,每当我按下一个项目时,背景就会变为该颜色。 But when selecting an item neither the bg color or text color changes, even though I've defined an item with android:state_selected="true" in the selector.
编辑:我使用的是 SDK level 11 (Android 3.0) 和 Motorola Xoom。
列表片段布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
列表项布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="25dp"
android:background="@drawable/list_item_bg_selector">
<TextView android:id="@+id/form_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_xlarge"
android:textStyle="bold"
android:textColor="@drawable/list_item_text_selector" />
<TextView android:id="@+id/form_subtitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_medium"
android:textStyle="normal"
android:layout_marginTop="5dp"
android:textColor="@drawable/list_item_text_selector" />
</LinearLayout>
背景选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@color/white" />
<item
android:state_selected="true"
android:drawable="@drawable/list_item_bg_selected" />
<item
android:drawable="@color/list_bg" />
</selector>
文本选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@color/white" />
<item
android:drawable="@color/list_text_blue" />
</selector>
【问题讨论】:
-
@Snicolas 我不认为这个问题与这个问题有关,我什至没有使用半透明颜色
标签: android listview android-layout