1

我可以使用显示正确输出的自定义适配器设置列表视图。每个列表项也具有渐变样式,请参见下面的 drawable.xml 如何在点击其中任何一个时将项目背景更改为其他渐变。我可以为每个项目设置不同的渐变吗?

<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle">
<gradient 
android:startColor="#FFFAFAFA" 
android:centerColor="#FFFFFFFF" 
android:endColor="#FFFAFAFA" 
android:angle="90"/>
</shape>

我的文件...

activity_main.xml....主 xml 文件

MainActivity.java....主要活动

Item.java.... 项目选择器方法

ItemAdaptor.... 自定义适配器

list_item.xml .....项目(textView)样式

4

2 回答 2

0

试试这样。。

在drawable中添加这个

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selector style for listrow -->

    <item
     android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/gradient_bg" />

    <item android:state_pressed="true"
        android:drawable="@drawable/gradient_bg_hover" />

    <item android:state_selected="true"
     android:state_pressed="false"
        android:drawable="@drawable/gradient_bg_hover" />
</selector>

添加布局

<ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="#FFFFFF"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector" />
于 2013-01-17T07:26:07.637 回答
0

我在点击时得到了颜色变化

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
android:background="@drawable/listitem_states" >

使用 res/values/listitem_states.xml:

<?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/listitem_active_color" ></item>
<item
    android:state_pressed="true"
   android:drawable="@color/listitem_active_color" ></item>
<item 
    android:drawable="@color/listitem_bg_color" /> 
</selector> 

我想你可以很容易地适应渐变。

于 2013-01-17T07:19:30.180 回答