【问题标题】:How to make not to blink when item in ListView is touched触摸ListView中的项目时如何使不闪烁
【发布时间】:2026-01-10 09:45:02
【问题描述】:

在普通 ListView 的情况下,如果用户触摸 ListView 中的一项。 触摸的项目闪烁一次。我希望它不会闪烁。

如何像上面一样配置ListView?

我已经想通了。如果我们设置 color 或 textColor 属性,这个问题就解决了。

【问题讨论】:

    标签: android android-listview


    【解决方案1】:

    您可以制作自定义列表视图,并将列表视图项在单击时的颜色更改设置为与背景相同。这样就不会出现眨眼了!!

    希望对你有帮助!!

    【讨论】:

    • 我已经尝试设置项目的背景颜色,但它并没有给我带来任何改变。但是,谢谢你的回答。
    【解决方案2】:

    在您的列表视图 xml 中设置它:

    android:cacheColorHint="@android:color/transparent"
    

    【讨论】:

    • 您能否发布您的列表中的 xml 布局代码。以及任何 java 代码,以防您通过 java 为列表设置任何其他属性。
    • 我自己弄明白了。闪烁的原因与 ListView 无关。 ListView 项中的 TextView,具有此属性 'android:textAppearance="?android:attr/textAppearanceMedium"'。此属性更改文本视图。如果我们将xml选择器设置为textColor,当ListView中的item被触摸时它的颜色不会改变。
    • 为什么不使用 android:cacheColorHint="@android:color/transparent" 代替?
    • @ademar111190 没测试过,也好用吗?随意编辑/添加它作为我的答案。
    • 我测试过并且工作正常,@android:color/transparent 等于 #00000000 所以它只是为了更好的模式:)。我会编辑。
    【解决方案3】:

    ListView xml 中只需在 ListView 中添加这两行

    android:listSelector="@android:color/transparent" 
    android:cacheColorHint="@android:color/transparent"
    

    【讨论】: