30/09/2018, 22:01

Bắt sự kiện khi thả tay không chạm nữa trong Android?

Chào các anh/chị em đang học lập trình Android em học đến phần onLongClickListener với button thì làm ví dụ là nhấn lâu button biến mất vậy em muốn khi thả ra không chạm nữa thì button hiện trở lại không biết phải bắt sự kiện thế nào mong anh/chị chỉ em với.

Minh Nhân viết 00:08 ngày 01/10/2018

Sử dụng method OnTouchListener nhé .

view.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
    view.setBackgroundColor(Color.rgb(1, 1, 1));
    Log.d("onTouch", "MotionEvent.ACTION_UP" );
}
if (event.getAction() == MotionEvent.ACTION_DOWN) {
    view.setBackgroundColor(Color.rgb(23, 128, 0));
    Log.d("onTouch", "MotionEvent.ACTION_DOWN" );
    return true;
}

if (event.getAction() == MotionEvent.ACTION_CANCEL) {
    view.setBackgroundColor(Color.rgb(1, 1, 1));
    Log.d("onTouch", "MotionEvent.ACTION_CANCEL" );
}
    return false;
}
});
Vinh Phat Cao viết 00:05 ngày 01/10/2018

Cái này khi chạm vào nó mất liền luôn có cách nào cham lâu như kiểu onLongClickListener rồi nó mới mất không nhỉ

Truong Pham viết 00:07 ngày 01/10/2018

setOnTouchListener

Dùng setOnTouchListener. MotionEvent.ACTION_DOWN là vừa chạm vào, MotionEvent.ACTION_UP là khi thả ra.

Minh Nhân viết 00:15 ngày 01/10/2018

Muốn làm như vậy thì chỗ cái ACTION_UP cho một cái count down tầm 1,5s, khi count = 0 thì cho nó mất.

Bài liên quan
0