单击时如何更改可绘制的图像背景

时间:2016-10-24 12:40:36

标签: android image android-imageview

我是Android新手,我有一个图片,想要在点击该图标时以编程方式更改背景颜色。怎么做。拜托,有人帮助我。

在点击之前我有这样的图标:

Before Click

我想在点击后点击这样改变:

After click

3 个答案:

答案 0 :(得分:0)

你必须看到:

how to apply click event listener to image in android

并在click事件侦听器内部:

backgroundImg.setBackgroundColor(Color.parseColor("#FFFFFF"));

backgroundImg.setBackgroundColor(Color.rgb(100, 100, 50));

答案 1 :(得分:0)

这里你需要的是一个选择器。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item>
    <item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/numpad_button_bg_normal"></item>

</selector>

然后你需要创建两个图像,因为从我在例子中看到的你也设置了文本颜色。

如果您以后想要更改图标的整体颜色,可以使用AppCompatImageView和着色来实现。

答案 2 :(得分:0)

提供两种解决方案

  1. 使用两个图像并在android:state_selected,android:state_pressed上更新。类似于dzsonni的回答。
  2. 以编程方式使用SVG Image.Update。参见下面的链接 Dynamically changing SVG Image colours on Android