Android 点击item设置背景色再点击取消背景色
时间: 2024-05-13 07:18:58 浏览: 66
在 Android 中,可以通过设置 item 的 selector 实现点击时设置背景色,再次点击时取消背景色的效果。以下是一些简单的步骤:
1. 创建一个 selector 文件,命名为 item_selector.xml(可以放在 res/drawable 目录下)。
```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="@color/colorAccent" /> <!-- 点击时设置背景色 -->
<item android:drawable="@android:color/transparent" /> <!-- 点击后取消背景色 -->
</selector>
```
2. 在布局文件中设置 item 的背景。
```xml
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:dividerHeight="0dp"
android:listSelector="@drawable/item_selector" />
```
3. 在代码中监听 item 的点击事件,并在点击时设置 item 的 state_pressed 状态为 true。
```java
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setSelected(true);
}
});
```
这样,当用户点击 item 时,会设置背景色;再次点击时,会取消背景色。
阅读全文