我想使用 OnTouchListener 并跟踪向下和向上事件,然后设置一个 alpha 值,但我必须将此侦听器添加到所有 ImageButtons(它们真的很多)。我想知道是否有捷径可以达到这个结果。
问问题
1607 次
2 回答
0
如果当用户单击按钮并导致更改该按钮的不透明度时,您可以执行以下操作:
在您的xml file
on 按钮声明中添加以下行:
android:onClick = "clickMethod"
并且在java file
你需要实现clickMethod,
public void clickMethod(View view)
{
// change opacity
}
因此,如果您想为每个按钮执行相同的过程(更改按钮不透明度),那么在每个按钮的 xml 文件中添加该行
android:onClick="clickMethod"
于 2013-05-13T20:50:49.767 回答
0
如果您想在单击 ImageButton 时给用户更好的体验,我建议您使用 selection drawable 作为 ImageButtons 的背景。它提供了更好的用户体验,然后在执行点击时设置不透明度,这真的很容易实现。
首先,您需要在名称为 fe 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 时使用以下语句:
android:background="@drawable/image_button_selection"
于 2013-05-13T21:21:15.223 回答