问题描述
在网格视图中按下图像时,我想将图像的轮廓颜色更改为蓝色(默认为黑色)。
我知道我们可以通过在imageview的单击上设置色调颜色来以编程方式进行操作,但是我的要求是制作样式/主题,以便可以将其应用于网格项的XML级别。
我需要这个,因为网格中的图像数量是动态的,并且我事先不知道列表中所有图像将是什么。
解决方法
您应该为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"