Как бы я установил ImageButton, чтобы измениться только тогда, когда мой палец касается его
-
26-09-2019 - |
Вопрос
Я хочу создать событие, чтобы изменить, как выглядит моя кнопка Image, но только тогда, когда она нажата. До сих пор я использовал слушатель 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;
}
});
Решение
От http://developer.android.com/guide/topics/ui/ui-events.html.:
OnTouch () ... Это называется, когда пользователь выполняет действие, квалифицированное как сенсорное событие, включая пресс, выпуск или любой жест движения на экране (в пределах пункта).
Другими словами, onTouch
также вызывается для событий выпуска. смотреть на MotionEvent.getAction()
.
Другие советы
Это в документы. Отказ Вы можете определить разные изображения для разных состояний через XML.
Вместо того, чтобы делать это вручную, почему бы вам не изменить нанесенные кнопки? В целом, Drawbles может иметь несколько состояний, поэтому, если вы измените нанесенные для определенных состояний (например, сфокусированные или выбранные), операционная система будет автоматически обработать все для вас.