Уроки Android | #15 — «Счетчик» на андроид с нуля | Счет кнопками громкости

Автор Alla Bessonova
Уроки Android | #15 — «Счетчик» на андроид с нуля  | Счет кнопками громкости

Всем привет дорогие друзья и в этом уроке мы с вами сделаем так чтобы можно было увеличивать и уменьшать значение счетчика при помощи аппаратных кнопок громкости и так поехали отправляемся в аккаунте Activity потому, что именно — это активити будет реагировать на нажатие кнопок громкости и здесь нам нужно с вами переопределить метод.

ООН keydown который отвечает в принципе за нажатии любых кнопок. А какие кнопки мы определяем мы определимся сами чуть позже, а прошу заметить, что также есть метод onkeyup. Метод onkeyup тоже может помочь.

В некоторых случаях.

Но чем он отличается от метода он. Ну у кнопки у события нажатия кнопки есть две фазы до сначала кнопку вдавливанием и мы потом её отпускаем и соответственно onkeydown — это первая фаза oab или нога называется released самое как он кидал иногда называется onkeypress в принципе в разных платформах, а ну здесь onkeydown — это фаза когда мы как раз нажимаем и в нашем приложении. Пожалуй — это именно то события которые мы хотим реагировать, а дальше. Хотелось бы поговорить об этом методе вообще чтобы. Мы понимали, что мы делаем потому, что вся эта ситуация не так проста как кажется на первый взгляд. Возможно, а потому, что смотрите в принципе ничто нам не мешает здесь написать. Каким образом IV какая-то клавиша нажата. Да не забываем, что этот метод не создан чтобы переопределяет нажатии аппаратных кнопок громкости, а можно переопределить любые кнопки там Home Back. Я не знаю Power очевидно даже, но нам с вами нужно отреагировать только на кнопок громкости. И для этого у нас есть кот и. Киева из них мы можем, а под вытащить какие-то параметры о текущем событие нажатия клавиши. Ну устраивает. Нас устраивает акикат по нему мы можем как раз понять, что нажата и If keycode равно очевидно нужно какую-то константу сравнивать кот и данные сигнатура на самом деле нам прекрасно подсказывает, что можно их вытащить попробовать из. Киева и его Key Event и что-нибудь типа валим батон Down Bottom Up. Вот какие у нас есть события. Ну например AB и здесь туду, что мы здесь хотим когда громкость вверх инкремент. До счётчика. Ну и в принципе If keycode равно. Таджикистан такие винта и. Вовин Down, тогда декремент да вот туда не написал. Вот всё однообразно. Теперь вот. Казалось бы вроде как и всё. Я сейчас пишу, но может быть не спешите повторять я сейчас просто объясню вам, что дальше будет происходить если мы вот так и оставим например мы здесь мы. Конечно знаю, что мы хотим как у нас делается инкремент. У нас есть прекрасный Method change value. Мы создали прекрасный метод и здесь могут используем Will you get Control value + 1. Вот так мы делаем на самом деле в принципе нам уже бы повторить. Вот это. Но мы с вами пишем красивый кот поэтому давайте сделаем ещё пару вспомогательных методов проводит White Ink & Private White Deck и они будут непосредственно делать change value No Get container View декремент значит -1 и этот инкремент тоже самое плюс один и теперь здесь мы можем вместо этого всего написать уже так — это плюс значит. А — это минус значит это. Эдик да. Раньше просто эти методы не повторялись поэтому мы их употребляют только остаётся дополнительную функцию для этого надо теперь если кот будет повторяться не хотелось бы дублировать. Поэтому вынесен в отдельную функцию, тогда получается. Здесь, что даже вот — это нам не нужно. А значит Inc is Down значит где четко, но смотрите, что сейчас будет происходить. И так смотрим. Ну давайте уже для чистоты эксперимента сразу на главном экране сначала твою заявку кнопки громкости на эмуляторе они у меня вот здесь вот, но они меняют. Громкость всё так дальше уходим всё 777 желаем кнопку вверх и во-первых увеличилась громкость во-вторых также увеличился значение счётчика тоже самое с кнопкой вниз такое поведение я его вполне ожидал. Возможно вы не очень поэтому обсудить. Почему так получилось, а если вы уже знаете почему так получилось, тогда срочно видео на паузу и сами. Попробуйте исправить этот метод чтобы поведение было какое поведение. Мы хотим чтобы счётчик менялся, но громкость осталась на прежнем уровне вот, а мы продолжаем и так метод этот не так просто кажется по двум причинам во-первых мы его. Перри определили у класса Activity то есть класс Activity, что ты делал в этом методе как-то. Рио на нажатие кнопок. А мы взяли и определили — это поведение то есть мы должны понять, что мы делаем уже с тем поведением которые сейчас есть как мы с ним работаем и которые мы не хотим потерять или. Возможно мы хотим изменить и так далее, а второй момент. Возможно вы заметили. Дню бурьяном. Нужно вернуть какой-то. Буян, что ж. Давайте разбираться по порядку во-первых бурьян если почитать. А тут reference ресторан True to prevent This From прогестерон в принципе знаете такой подход вообще вернуть при какой-то обработки вернуть буря — это очень частый подход в. Андроиде также в этом нажатии на этом и он Click listener нам нужно вернуть boolean — это же с пометкой. Верните True If and consultant точно также обрабатываем. Тачки возвращает True или false в принципе и j1 ты возвращаешь True если ты обработал события и ты дебил то есть она как бы потребляется и дальше она не идёт потому, что система ищет. Анну послушать всем каким-то образом по схеме ищет кто же первый этот ивент вообще схватит. И если кто-то хватает его и говорит трубу то есть я всё я занимаюсь этим в этом полностью никому больше не давайте то значит дальше этот вариант не идёт вот и всё если возвращаешь. Фолз значит дальше и дальше его дальше хватает. Кто хочет их. Кто хочет, что с ним делать поэтому возвращаюсь к нашему случаю как бы мы с вами хотите поступить из, а соответственно keycode это. Вадим Up Down то мы хотим — это событие.

0 комментариев
0

Читайте также