android - Android ImageView Styles 来管理点击事件的色调
问题描述
当在网格视图中按下时,我想将图像的轮廓颜色更改为蓝色(默认情况下为黑色)。
我知道我们可以通过在单击 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"
推荐阅读
- bash - 我目前在两台机器上运行 cron 脚本来执行任务 - 我可以将它们组合成一个使用两台服务器的脚本吗?
- c++ - 如何在派生构造函数中初始化从基类继承的向量
- excel - 使用 While 循环获取特定列中的行句柄
- c# - 为什么这个 Base36 随机字符串不使用 RandomNumberGenerator 随机分布字符
- java - Jenkins - 带有动态 html 报告文件的电子邮件附件
- python - 如果有其他没有标签的盒子,如何抓取某些标签
- c# - 我的代码中有一个错误“找不到类型或命名空间名称‘spsite’”,我不知道如何解决它
- powerbi - 如何计算 Power BI 中选定属性的平均值
- c# - Spire Presentation (Spire.Pres) 在 Microsoft Azure 中启动错误
- ios - 当 UNNotificationExtensionUserInteractionEnabled 为真时,如何从 UNNotificationContentExtension 触发 didReceiveRemoteNotification