如何使按钮显示在Android中使用自定义背景图像单击按钮(通过设置下降/某些更改).我不想包含更多图像,并将不同的图像设置为不同的状态,如google hello views示例中所示.谢谢.
Pra*_*een 12
你必须使用两个图像来做到这一点.
然后在drawable文件夹中创建一个xml资源
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false"
android:drawable="@drawable/button_normal" />
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" />
</selector>
Run Code Online (Sandbox Code Playgroud)
然后,将此文件设置为imageview的背景.这里我们使用imageview作为按钮.别忘了在drawable文件夹中包含这两个按钮.而已.
使用 ColorFilter 方法可以只处理一个图像文件。但是,ColorFilter 期望与 ImageView 一起使用,而不是与 Button 一起使用,因此您必须将按钮转换为 ImageView。无论如何,如果您使用图像作为按钮,这不是问题,但如果您有文本,那就更烦人了……无论如何,假设您找到了解决文本问题的方法,下面是要使用的代码:
ImageView button = (ImageView) findViewById(R.id.button);
button.setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);
Run Code Online (Sandbox Code Playgroud)
这会将红色覆盖层应用于按钮(颜色代码是完全不透明红色的十六进制代码 - 前两位数字是透明的,然后是 RR GG BB。)。
您可以通过将 sdkfolder/platforms/(android version/data/res/drawable) 中的 btn_default_normal.9.png 文件复制到您自己的项目中,使您的 ImageView 看起来像普通按钮。然后在您的 ImageView 中使用并android:background="@drawable/btn_normal_default"在android:src="..."按钮。