События ButtonDown и ButtonUp для экранных кнопок Android? - PullRequest
12 голосов
/ 01 мая 2010

Есть ли способ получить событие onButtonDown или onButtonUp для программной кнопки (т.е. не кнопки физического оборудования, а кнопки на экране)? У меня есть кнопка на экране, которую я хочу, чтобы пользователь удерживал X секунд. Для этого мне нужно захватить события buttonDown и buttonUp отдельно.

Спасибо

Брет

Ответы [ 2 ]

42 голосов
/ 01 мая 2010
yourButton.setOnTouchListener( yourListener );

public boolean onTouch( View yourButton , MotionEvent theMotion ) {
    switch ( theMotion.getAction() ) {
    case MotionEvent.ACTION_DOWN: break;
    case MotionEvent.ACTION_UP: break;
    }
    return true;
}
0 голосов
/ 08 января 2019

вариант Котлина

button.setOnTouchListener(object : View.OnTouchListener {
        override fun onTouch(v: View?, event: MotionEvent?): Boolean {
            when (event?.action) {
                MotionEvent.ACTION_DOWN -> {   }
                MotionEvent.ACTION_UP   -> {   }
            }
            return v?.onTouchEvent(event) ?: true
        }
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...