1

我正在尝试使用ImageViewas a Button,并且我希望能够在按下按钮时更改图像。我OnClickListener有一套,但是当用户的手指不再向下,超过按钮时,我该怎么办?如何恢复到原始图像?

4

2 回答 2

3

这样做的正确方法是扩展 Button 类,或者如果您只想更改按钮图像,您可以通过 xml 设置样式。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:state_enabled="true"
        android:drawable="@drawable/btn_default_normal" />
    <item android:state_window_focused="false" android:state_enabled="false"
        android:drawable="@drawable/btn_default_normal_disable" />
    <item android:state_pressed="true" 
        android:drawable="@drawable/btn_default_pressed" />
    <item android:state_focused="true" android:state_enabled="true"
        android:drawable="@drawable/btn_default_selected" />
    <item android:state_enabled="true"
        android:drawable="@drawable/btn_default_normal" />
    <item android:state_focused="true"
        android:drawable="@drawable/btn_default_normal_disable_focused" />
    <item
         android:drawable="@drawable/btn_default_normal_disable" />
</selector>
于 2009-08-08T04:46:36.750 回答
1

改用这个:

View.OnTouchListener
abstract boolean onTouch(View v, MotionEvent event)

事件参数会让你知道它的ACTION_DOWNACTION_UP

于 2009-08-08T01:49:52.470 回答