Android:改变src alpha并保留背景(将src与颜色混合)



我已经找了一段时间了,但真的找不到任何干净的方法来做到这一点。

我正在开发一个带有一些按钮的应用程序,主要是这样定义的:

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#000000"
    android:contentDescription="@null"
    android:src="@drawable/btn1" />

有一个onTouchListener,用setAlpha(0.5f)改变按钮的alpha,但它也改变了背景alpha,这不是我需要的。我想让它看起来暗一些,而不是透明的。

我看到过这个问题:Android图形:改变只是一个图像的alpha(不是背景),解决方案实际上是有效的,但它不适合我创建一个FrameLayout在我的应用程序中的每个按钮。

考虑到背景是平面颜色,我认为会有一个更简单的解决方案,如颜色混合或类似的东西,但真的找不到它在任何地方。

<<p> 解决方案/strong>

刚刚发现这篇文章:http://tech.chitgoks.com/2011/04/17/android-change-imagebutton-tint-to-simulate-button-pressed/

解决方案很简单:

button.setColorFilter(Color.argb(150,0,0,0));

您可以使用getDrawable()方法获得可绘制的图像,并尝试更改其alpha

最新更新