【问题标题】:Listview with background different than item背景与项目不同的列表视图
【发布时间】:2016-01-31 18:25:52
【问题描述】:

我正在尝试创建一个列表视图,其中包含具有不同颜色背景的项目,如下图所示。

但是,我通过在项目布局中设置背景颜色来实现这一点。现在当我点击该项目时,没有任何反馈(例如没有背景时提供的点击和涟漪效果)。

有没有办法将这些项目设置为与背景不同的颜色,而不会丢失 on select 的默认反馈?如果不是,是创建选择器的常用技术吗?

【问题讨论】:

  • 不是将 png 可绘制对象设置为项目布局的背景,而是创建一个具有正常和按下状态背景的 xml 可绘制对象。将其设置为 bg。

标签: android listview background styles selector


【解决方案1】:

在 /res/drawable/ 中创建一个 list_item_bg.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="@drawable/bg_pressed" />
    <item android:drawable="@drawable/bg_normal" />
</selector>

现在在 listitem.xml 布局中:

<LinearLayout
    android:background="@drawable/list_item_bg"
    ... />

这将允许您在正常状态和按下状态下拥有两种不同的背景。

【讨论】:

  • 欣赏它。所以我猜涟漪效应是不可能的?
  • 不幸的是,是的。 :(
猜你喜欢
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多