Android:如何在ImageButton上添加不透明度?

时间:2013-05-13 20:40:05

标签: android listener opacity imagebutton

我想使用OnTouchListener并跟踪向下和向上事件,然后设置一个alpha值,但我必须将这个监听器添加到所有ImageButtons(它们真的很多)。我想知道是否有实现这一结果的捷径。

2 个答案:

答案 0 :(得分:0)

如果用户点击按钮并导致更改该按钮的不透明度,您可以执行以下操作:

xml file按钮声明中添加以下行:

android:onClick = "clickMethod"

并在java file中需要实现clickMethod,

public void clickMethod(View view)
{
  // change opacity
}

所以,如果你想为每个按钮做同样的过程(更改按钮不透明度),那么在xml文件中 为每个按钮添加行

android:onClick="clickMethod"

答案 1 :(得分:0)

如果您希望在单击ImageButton时为用户提供更好的expirince,我建议您使用选择drawable作为ImageButtons的背景。它提供了更好的用户体验,然后在执行点击时设置不透明度,这很容易实现。

首先,您需要在名称为f.e的 drawable 文件夹文件中创建。的 image_button_selection.xml 即可。您应该在其中定义:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/your_focused_background_drawable" />
    <item android:state_pressed="true" android:drawable="@drawable/your_pressed_background_drawable " />
    <item android:drawable="@android:color/transparent" />
</selector>

你还应该使用alpha通道输入可绘制的两个png,它将显示在聚焦按钮和按下的按钮上。在此示例中,它们应分别命名为 your_focused_background_drawable your_pressed_background_drawable 。 当你这样做时,你应该在每次使用xml的ImageButton时使用以下语句:

  

机器人:背景= “@绘制/ image_button_selection”