0

我使用选择器来定义 ListView 中项目的状态

选择器.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
        android:drawable="@drawable/item_pressed" /> <!-- pressed -->
    <item android:state_enabled="true" android:drawable="@drawable/item_enabled"/>
</selector>

在我的 item.xml 中,我使用 selector.xml 设置了背景

项目.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@drawable/selector"
    android:padding="10dp">

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Marshmallow"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@android:color/black" />

    <TextView
        android:id="@+id/type"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/name"
        android:layout_marginTop="5dp"
        android:text="Android 6.0"
        android:textColor="@android:color/black" />

</RelativeLayout>

main_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_main">


    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

</RelativeLayout>

当我触摸/单击 ListView 中的项目时,有时会错过按下状态

我尝试使用android:listSelector="@drawable/selector"选择器背景或互联网上找到的解决方案

但有时当我触摸/单击 ListView 中的项目时,它仍然会错过按下状态(不显示按下的背景)

我想可能是 StateListDrawable 或 ListView 的问题

或者如果有人有类似情况,请帮忙

谢谢!

4

0 回答 0