3

我想创建一个事件来更改我的图像按钮的外观,但前提是它被按下时。到目前为止,我一直在使用 onTouch 侦听器,但这只会永久改变它。我找不到类似 onKyeUpListener() 类型的按钮。

这样的事情存在吗?

解决了

    final ImageButton button = (ImageButton) findViewById(R.id.ImageButton01);

    button.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            if(event.getAction() == (MotionEvent.ACTION_UP)){
                //Do whatever you want after press
            }
            else{
                //Do whatever you want during press
            }
            return true;
        }
    });
4

3 回答 3

5

它在文档中。您可以通过 XML 为不同的状态定义不同的图像。

于 2010-10-26T22:51:00.900 回答
3

与其手动操作,不如更改按钮的可绘制对象?一般来说,drawables可以有多个状态,所以如果你改变drawable的某些状态(比如focused或selected),操作系统会自动为你处理一切。

于 2010-10-26T22:52:27.217 回答
2

http://developer.android.com/guide/topics/ui/ui-events.html

onTouch() ... 当用户执行限定为触摸事件的操作时调用此方法,包括按下、释放或屏幕上的任何移动手势(在项目范围内)。

换句话说,onTouch也称为发布事件。看MotionEvent.getAction()

于 2010-10-26T22:49:26.963 回答