首页 > 解决方案 > Android ImageView Styles 来管理点击事件的色调

问题描述

当在网格视图中按下时,我想将图像的轮廓颜色更改为蓝色(默认情况下为黑色)。

我知道我们可以通过在单击 imageview 时设置色调颜色以编程方式完成,但我的要求是制作样式/主题,以便我可以在网格项目的 XML 级别应用它。

我需要这个,因为网格中的图像数量是动态的,而且我事先不知道列表中的所有图像。

标签: androidandroid-imageviewandroid-styles

解决方案


您应该为您的 ImageView 创建一个选择器,将其保存在 res/color 中:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused ="true" android:color="<your-color>"/>
    <item android:state_pressed="true" android:color="<your-color>"/>
</selector>

并将其设置在您的 ImageView 上

app:tint="@color/<your-selector.xml>"

此外,在您的 ImageView 上设置这些属性

android:focusable="true"
android:clickable="true"

推荐阅读