Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

Эффект нажатой/отпущенной кнопки

Эффект нажатия кнопки делаю так: файл button.xml в drawable

И в кнопке соответственно android:background="@drawable/button"
Все работает как надо, но есть одно но, кнопка визуально становится нажатой через ~0.2сек после прикосновения. В принципе это происходит и без оформленной кнопки, даже с простой серой. Подскажите пожалуйста, можно ли как то сделать, чтобы кнопка визуально нажималась в момент прикосновения? Спасибо.
UPD
button_today.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){
button_today.setPressed(true); return true; } return false; } });


Ответ

Вам нужно создать один экземпляр View.OnTouchListener и присвоить его каждой кнопке:
View.OnTouchListener listener = new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ ((Button)findViewById(v.getId())).setPressed(true); return true; } return false; } }
button_today.setOnTouchListener(listener); button_today2.setOnTouchListener(listener); button_today3.setOnTouchListener(listener);

Комментариев нет:

Отправить комментарий