带@null背景的图像按钮(透明)

the*_*sic 3 android

我有一个带有透明度的图像源的图像按钮,但图像按钮的背景颜色是典型的灰色按钮颜色.

我想设置背景= @null,这很好.

但是,当我按下此图像按钮时,我看不到表示我按下按钮的颜色.

如果我在按下按钮时删除background = @null,请更改用户知道您按下的颜色.

我读到你可以创建一个带有3个图像的xml,指定按下按钮的时间,此正常情况以及何时聚焦.但我认为存在一种更容易的方法.

Luk*_*rog 13

根据上述答案,使用选择器drawable(对于背景,而不是null)将默认状态设置为透明颜色:

*selector_with_transparency:*

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

    <item android:state_pressed="true" android:drawable="@drawable/pressed" />
    <item android:drawable="@drawable/transparent" />

</selector>
Run Code Online (Sandbox Code Playgroud)

按:

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

    <solid android:color="#0077cc" />

</shape>
Run Code Online (Sandbox Code Playgroud)

透明:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#00000000"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

然后为ImageButton:

background = "@drawable/selector_with_transparency"
Run Code Online (Sandbox Code Playgroud)