如何在用户按下时按下一个ImageButton?

时间:2012-03-07 16:47:02

标签: android imagebutton

我有一个ImageButton,当用户按下按钮时,我需要保持按下的状态,直到用户再次按下它。

我尝试使用此代码:

        portada.setOnTouchListener(new OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            portada.setPressed(!portada.isPressed());
            return true;
        }                       
    });

但它不起作用,因为当我按下按钮时,按钮会连续多次从按下变为非按下,直到我停止按下按钮。这是错误的。

我该如何解决?

由于

1 个答案:

答案 0 :(得分:1)

解决:

ImageButton portada.......

portada.setOnTouchListener(new OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction()==MotionEvent.ACTION_DOWN) //esto es necesario para evitar que salte el evento muchas veces con una sola presión del dedo.
                    portada.setPressed(!portada.isPressed()); //invertimos el estado del botón
                return true;
            }                       

        });