我为listview制作了自定义样式 . 问题是当我尝试触摸listview的项目时 . 选中的行不会更改背景 . 如果我在listview中设置此属性:
android:drawSelectorOnTop="true"
我的项目列表视图的背景更改,但我无法在项目列表视图中看到texview . 如果项目被选中,我可能需要处理,但我不知道该怎么做 . 请问你能帮帮我吗?
当我有listview时,这是我的.xml:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="0dp"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:weightSum="1"
android:gravity="start">
<ListView
android:id="@+id/lst_todos_los_complejos"
android:layout_width="fill_parent"
android:layout_height="310dp"
android:layout_marginTop="10.0sp"
android:layout_marginBottom="10.0sp"
android:gravity="center"
android:overScrollMode="never"
android:listSelector="#37474f"
android:drawSelectorOnTop="true"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:clickable="false"
android:backgroundTintMode="screen"
android:dividerHeight="10.0sp"
android:fadeScrollbars="false"
android:layout_weight="1"
android:divider="@color/transparent"
tools:listitem="@android:layout/simple_list_item_2" />
<android.support.v7.widget.AppCompatButton
android:id="@+id/btn_informacion"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:layout_marginBottom="20dp"
android:padding="12dp"
android:text="BUTTON 1"/>
<android.support.v7.widget.AppCompatButton
android:id="@+id/btn_turno"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:padding="12dp"
android:text="BUTTON 2"/>
</LinearLayout>
</ScrollView>
这是listview格式:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/style_listview"
android:orientation="horizontal">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image"
android:layout_width="20dp"
android:layout_marginTop="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:scaleType="centerCrop"
android:layout_height="50dp" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/nombre_fila"
android:drawSelectorOnTop="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="3dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:text="Hello World"
android:textAppearance="?android:textAppearanceLarge"
android:gravity="center"
/>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/id_fila"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:textAppearanceLarge"
android:gravity="center"
android:visibility="gone" />
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:numStars="5"
android:layout_marginBottom="6dp"
style="?android:attr/ratingBarStyleSmall"
android:id="@+id/ratingBar" />
</LinearLayout>
listview的风格是这样的:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape
android:shape="rectangle">
<solid android:color="#3b464b" />
<corners android:radius="5dp"/>
</shape>
</item>
<item android:right="1dp" android:left="1dp" android:bottom="2dp">
<shape
android:shape="rectangle">
<solid android:color="#4b5960"/>
<corners android:radius="5dp"/>
</shape>
</item>
</layer-list>
触摸listiview项目时,只需更改项目的背景颜色即可 . 谢谢!