gpt4 book ai didi

android - 无法使用默认的 ListView 选择器

转载 作者:行者123 更新时间:2023-11-29 02:14:14 25 4
gpt4 key购买 nike

我正在为 Android 开发一个 ListView 应用程序。我想使用默认的 ListView 选择器,例如当您触摸某个项目时市场中的选择器。

我的 ListView 中没有高亮显示,正确实现它的方法在哪里?我读过有关“触摸模式”的信息,但我无法使其正常工作。

提前致谢!

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

最佳答案

您必须为每个行布局分配一个由选择器组成的背景,该选择器为每个状态分配不同的背景。假设您的项目行布局是在 xml 中定义的 RelativeLayout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip"
android:background="@drawable/transparent_selector"> ...

并且 transparent_selector 在这里定义:仔细观察一个可绘制的形状属于一个单一的状态。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/shape_7"/>
<item android:state_pressed="true" android:drawable="@drawable/shape_7" />
<item android:state_pressed="false" android:drawable="@drawable/transparent_shape" />
</selector>

这里定义了一个形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FF4FDBD5"
android:endColor="#FF1AA6A1"
android:type="linear"
android:angle="90"/>
</shape>

或者在构造 ListView 项时以其他方式将选择器分配给“convertView”

干杯

关于android - 无法使用默认的 ListView 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5362594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com