RecyclerView里面的选择器背景

时间:2017-04-12 07:31:50

标签: android android-recyclerview android-xml android-relativelayout

我有recyclerView,我成功地调整了我的数据。我有一个问题。这是我的selector.xml来源

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/trains_vagon_selected_departure" android:state_pressed="true" />
<item android:drawable="@drawable/trains_vagon_selected_departure" android:state_focused="true"  />

<item android:drawable="@drawable/trains_vagon_selected_white"/>

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#77b7e9"/>
<padding android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"
    />

<corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp"
    android:topLeftRadius="0dp" android:topRightRadius="0dp"/>

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff"/>



<padding android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"
    />

<corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp"
    android:topLeftRadius="0dp" android:topRightRadius="0dp"/>

我在recyclerView项目中使用了这个选择器drawable文件,它工作得很好。

   <RelativeLayout
        android:id="@+id/selected_layout"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:clickable="true"
        android:focusable="true"
        android:background="@drawable/recyclerview_selected_departure"
        android:focusableInTouchMode="true">

        <TextView
            android:id="@+id/vagon_class_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="16dp"
            android:text="II Class"
            android:textColor="#b3b3b3"
            android:textSize="12dp" />

    </RelativeLayout>

我有两个问题。首先,是否可以更改所选项目的Textview文本颜色(仅选择项目)?第二个问题。当我运行我的应用程序时,第一个元素自动被选中。如何编写我的代码来禁用第一个自动选择器? 谢谢大家

1 个答案:

答案 0 :(得分:0)

要更改所选项目的文本颜色,请使用颜色选择器xml文件。 例如:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="#4c000000" android:state_pressed="false"/>
    <item android:color="#bcbcbc"/>

</selector

请分享项目选择逻辑的代码以检查第二个问题。

  

当我运行我的应用程序时,第一个元素自动被选中。我怎么能写   我的代码禁用第一个自动选择器?