1

我正在使用列表视图。每一行都有不同的印刷状态、形状和层的精美布局。在我的列表视图的适配器中,我想根据列表行内容为这些状态设置特定的颜色。我想在我的适配器中为每一行更改的特定颜色是文件“ list_row_pressed.xml ”中的 on(见下文,几乎在最后,在线 android:color="@android:color/blue" )

每行的 xml 在一个 xml 文件“ list_child.xml ”中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rlLevel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"    
android:background="@layout/list_rowbg" >
...

list_rowbg.xml ” 是另一个包含我的选择器的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

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

<item 
    android:state_pressed="false" 
    android:drawable="@layout/list_row_notpressed" >
     </item>

list_row_pressed.xml ”是:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape>
        <solid
            android:color="@android:color/transparent" />
        <corners
            android:radius="3dp" />           
    </shape>
</item>

<!-- Top Shadow -->
<item android:top="@dimen/rowShadow">
    <shape> 
        <solid

            android:color="@android:color/blue" /> <-- I WANT TO SET THIS COLOR DYNAMICALLY

        <corners android:radius="3dp" />
        <stroke
            android:width="0dp"
            android:color="@color/grey"  />
    </shape>
</item>

那么如何在我的列表视图适配器中更改我的文件“ list_row_pressed.xml ”中的颜色“@android:color/blue ”?

谢谢

4

0 回答 0