Как бы я установил ImageButton, чтобы измениться только тогда, когда мой палец касается его

StackOverflow https://stackoverflow.com/questions/4028664

Вопрос

Я хочу создать событие, чтобы изменить, как выглядит моя кнопка 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 может иметь несколько состояний, поэтому, если вы измените нанесенные для определенных состояний (например, сфокусированные или выбранные), операционная система будет автоматически обработать все для вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top