Меню

Android настройка кнопка назад



Как переназначить клавиши на Android

Трехклавишная методика управления интерфейсом Android, кажется, всегда устраивала большинство пользователей. Некоторые даже считали ее более логичной и удобной, чем на iOS. «Вытравить» это чувство не удалось даже жестам, которые сначала хоть стали обязательными для всех, в итоге все-таки обрели роль факультативной надстройки с возможностью выбора. Хороши кнопки еще и тем, что их можно настроить по своему усмотрению, задав на них те или иные действие, выполнение которых вам нужнее всего.

По умолчанию Android не позволяет переназначить действия, которые совершаются по нажатию на системные клавиши смартфона, на другие. Сделать это могут лишь пользователи некоторых смартфонов, работающих под управлением модифицированных оболочек. Впрочем, для всех остальных существует удобное приложение Button Mapper, которым мы и воспользуемся.

Как настроить кнопки на Android

Button Mapper работает как с физическими клавишами, так и виртуальными. Поэтому сконфигурировать их работу вы сможете вне зависимости от модели смартфона. При желании можно научить кнопку «Домой» воспринимать удержание, а также двойные нажатия, назначив на эти действия выполнение определенных задач.

  • Скачайте Button Mapper на свой смартфон ( скачать из Google Play );
  • Дайте приложению необходимые привилегии;
  • Перейдите во вкладку «Кнопка домой» (возможность настройки остальных клавиш возможна только в платной версии приложения);
  • Выберите раздел «Двойное нажатие» (скорее всего, вы не захотите перенастраивать одиночное, но при желании такая возможность тоже есть);
  • Назначьте действие, выполнение которого будет следовать за двойным нажатием на эту кнопку. Здесь можно выбрать такие варианты, как отключение экрана, переход в меню многозадачности, активация камеры и множество других.

Например, я назначил на двойное нажатие действие вызова меню многозадачности. Из-за большой диагонали экрана смартфона тянуться к специально отведенной для этого кнопке не очень удобно, а вот дважды тапнуть на «Домой» — вполне. Аналогичным образом вы можете настроить все остальные клавиши, например, назначив на одну из них отключение экрана, если клавиша питания находится на верхнем торце аппарата. Кроме того, присутствует возможность управлять смартфоном при помощи клавиш изменения громкости. Такая возможность пригодится в ситуации, когда физические подэкранные клавиши вышли из строя, а такое, поверьте моему опыту, случается довольно часто.

Подписывайся на наш чат в Telegram . Там интересные беседы и жаркие обсуждения не прекращаются ни на минуту.

Источник

Изменение порядка кнопок панели навигации на Android

Способ 1: Системные средства

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

Samsung

На смартфонах Самсунг процедура выполняется следующим образом:

    Откройте «Настройки» — например, через шторку устройства.

Далее воспользуйтесь параметром «Навигационная панель» («Navigation Bar»).

Теперь перейдите к блоку «Порядок кнопок» («Button order») и выберите вариант, который вам наиболее подходит. К сожалению, самостоятельно определить положение нельзя.

Изменения применяются моментально.

Huawei

  1. Запустите средство управления параметрами телефона.

Пролистайте список вниз и выберите пункт «Система и обновления».

Тапните «Системная навигация».

Перейдите к опции «Три навигационные кнопки».

В оболочке Хуавей тоже нельзя произвольно выбирать расположение кнопок.

Xiaomi

На устройствах Сяоми тоже имеется соответствующая опция.

    Откройте приложение «Настройки».

Далее выберите «Расширенные настройки».

Воспользуйтесь пунктом «Безграничный экран».

Убедитесь, что активен вариант «Кнопки», затем тапните по переключателю «Поменять местами кнопки меню и назад».

К сожалению, в чистом Android нет никаких системных возможностей изменить расположение кнопок.

Способ 2: ADB

Необычным способом перемещения элементов навигационной панели будет использование средства Android Debug Bridge.

    Убедитесь, что на целевом телефоне включена отладка по USB, а на компьютере установлены соответствующие драйвера.

Подробнее:
Как включить отладку по USB на Android
Установка драйверов для прошивки Android
Откройте «Командную строку» от имени администратора – например, найдите компонент через «Поиск», затем воспользуйтесь одноимённой опцией запуска.

Читайте также:  Как можно в айфоне управлять местом хранения в настройках

Подробнее: Как запустить «Командную строку» от имени администратора в Windows 7 и Windows 10

В интерфейсе ввода команд перейдите к папке с ADB, после чего введите команду adb devices.

Должен появиться список, в котором будет отображаться подключённое устройство.

Далее пропишите следующее:

settings put secure sysui_nav_bar «space,recent;home;back,space»

Проверьте правильность ввода и нажмите Enter.

  • Разблокируйте девайс и посмотрите на навбар – кнопки «Недавние приложения» и «Назад» будут перемещены.
  • Вариант с Android Debug Bridge подходит владельцам чистого «зелёного робота».

    Источник

    Как поменять кнопки навигации на Андроид?

    Чем хороши смартфоны с наэкранными сенсорными клавишами управления? Тем, что их можно поменять местами и или даже отключить вовсе, отказавшись в пользу жестов (последняя идея, впрочем, не всем пришлась по вкусу). В этой статье мы расскажем, как поменять расположение сенсорных клавиш на смартфоне Android.

    В нашем примере используется смартфон Honor/Huawei. Если у вас другое устройство, не беда, процесс аналогичен.

    Идем в приложение «Настройки».

    Открываем раздел «Система».

    Нажимаем на строчку «Системная навигация».

    В подразделе «Три навигационных кнопки» жмем «Настройки».

    И уже здесь выбираем нужную комбинацию кнопок.

    А как быть, если не удалось найти такой пункт в меню? Можете поступить следующим образом: в строке поиска настроек укажите ключ «кнопки» или «кнопка» (без кавычек), после чего выберите нужный пункт меню.

    Это работает практически на всех смартфонах, конечно, при условии, что в принципе имеется возможность менять расположение сенсорных клавиш.

    Друзья! Если наш сайт помог вам или просто понравился, вы можете помочь нам развиваться и двигаться дальше. Для этого можно:

    • Оставить комментарий к статье.

    Источник

    Назначаем альтернативные действия на физические кнопки android-смартфона: «Переназначение клавиш» и Button Mapper

    Оглавление

    Вступление

    Многим знакома ситуация, когда покупаешь новый смартфон, а у физической кнопки питания нет функции фотографирования, как нет и отдельной клавиши для этого, а ведь на прошлом аппарате она была и здорово выручала. На первый взгляд мелочь, но руки сами тянутся к механике, а не сенсору, причем в самый неподходящий момент.

    реклама

    На выручку приходят специальные программы, позволяющие полностью перепрограммировать физические клавиши гаджета и назначить на них любое действие. Это особенно выручает, если сломалась кнопка питания или хочется перематывать треки как на mp3-плеере, но встроенный этого не умеет… Нужны ли для этого root-права? Не будет ли глюков? Как это вообще работает? На поставленные вопросы я сегодня и попытаюсь ответить.

    Для начала представлю подопытных. Первое приложение так и называется: «Переназначение клавиш», по крайней мере в русском Google Play. Оно умеет работать как с физическими, так и сенсорными манипуляторами, но для некоторых действий требует root-прав. Вторым участником станет Button Mapper, умеющий то же самое, но не требующий вообще root-прав, что уже интересно.

    В качестве тестового оборудования использовались:

    • Планшет DEXP Ursus 8EV2 3G (Android 4.4.2, процессор MT8382, 4 x Cortex-A7 1.3 ГГц, видеоядро Mali-400 MP2, 1 Гбайт ОЗУ, аккумулятор 4 000 мАч, 3G-модуль, Wi-Fi 802.11b/g/n);
    • Смартфон Homtom HT3 Pro (Android 5.1 Lollipop, процессор MT6735P, 4 x Cortex-A53 1.0 ГГц, 64-бит, видеоядро Mali-T720, 2 Гбайт ОЗУ, аккумулятор 3 000 мАч, 4G-модуль, Wi-Fi 802.11b/g/n).

    Источник

    Клавиатура и аппаратные кнопки

    Аппаратные и клавиатурные клавиши

    Обработка аппаратных клавиш и клавиатуры имеет следующие методы

    • onKeyDown() — вызывается при нажатии любой аппаратной клавиши;
    • onKeyUp() — вызывается при отпускании любой аппаратной клавиши;

    Кроме клавиш, есть еще другие методы обработки пользовательского ввода (здесь не рассматриваются):

    • onTrackballEvent() — срабатывает при движениях трекбола;
    • onTouchEvent() — обработчик событий сенсорного экрана, срабатывает при касании, убирания пальца и при перетаскивании.
    Читайте также:  Приложения для настройки системы android

    Чтобы ваши компоненты и активности реагировали на нажатия клавиш, переопределите обработчики событий onKeyUp() и onKeyDown():

    Параметр keyCode содержит код клавиши, которая была нажата; сравнивайте его со статическими кодами клавиш, хранящимися в классе KeyEvent, чтобы выполнять соответствующую обработку.

    Параметр KeyEvent также включает в себя несколько методов: isAltPressed(), isShiftPressed() и isSymPressed(), определяющих, были ли нажаты функциональные клавиши, такие как Alt, Shift или Sym. Статический метод isModifierKey() принимает keyCode и определяет, является ли нажатая клавиша модификатором.

    Кнопка Back: Вы уверены, что хотите выйти из программы?

    Кнопка Back (Назад) закрывает приложение, точнее текущую активность, но если приложение состоит из одной активности, то это равносильно закрытию всего приложения. В большинстве случаев вам нет никакого дела до неуклюжего пользователя, который по ошибке нажал на кнопку Back вместо кнопки Подарить разработчику миллион. Но, если ваша программа, будучи запущенной на телефоне пользователя, потихоньку списывает деньги клиента в счет Фонда голодных котов, то нужно дать ему шанс задуматься и вывести диалоговое окно с вопросом: «А действительно ли вы хотите выйти из программы?»

    Чтобы реализовать такую задачу, нужно переопределить поведение кнопки Back через метод onBackPressed() следующим образом:

    Данный метод появился в Android 2.0. Для более ранних версий использовался стандартный код обработки onKeyDown():

    Двойное нажатие на кнопку Back

    Другой вариант — выход из приложения при двойном нажатии на кнопку Back. Удобно в тех случаях, когда считаете, что пользователь может случайно нажать на кнопку, например, во время активной игры. Приложение закроется, если пользователь дважды нажмёт на кнопку в течение двух секунд.

    Кнопка Home

    Можно отследить нажатие кнопки Home через метод активности onUserLeaveHint():

    Обработка кнопки Menu

    У телефона, кроме кнопки Back, есть еще кнопка Menu для вызова команд меню (на некоторых устройствах). Если необходимо обрабатывать нажатия этой кнопки (например, управление в игре), то используйте следующий код (обычное и долгое нажатие):

    Должен заметить, что длинное нажатие трудно уловить, так как обычное нажатие постоянно подавляет это событие.

    Другие кнопки

    Ну на самом деле можно отслеживать не только нажатие кнопки Меню, но и кнопку Поиска и кнопки увеличения громкости.

    Обратите внимание, что для кнопки громкости возвращаем false, т.е. мы не переопределяем поведение кнопки, а оставляем её на усмотрение системы.

    Пример работы с кнопками громкости можно посмотреть в статье Рингтоны. Управление громкостью

    По такому же принципу работает метод onKeyUp(). Метод onKeyLongPress() можно использовать, если в методе onKeyDown() был задействован метод event.startTracking(), отслеживающий поведение кнопки. В нашем примере мы отслеживали кнопку Volume_Up.

    Прячем клавиатуру

    Бывает так, что при запуске активности сразу выскакивает клавиатура. Если такое поведение не нравится, то пропишите в манифесте нужное значение у атрибута android:windowSoftInputMode (см. ниже).

    В некоторых случаях хочется убрать клавиатуру с экрана, не нажимая кнопку Back, а программно. В одном моём приложении, где было много текстовых полей, я воспользовался следующим кодом при щелчке кнопки:

    Код так выглядит, если писать его в Activity. Если расположить его в другом классе, экземпляр Activity нужно передать туда как параметр и вызывать методы как activity.getApplicationContext(), где activity — экземпляр Activity.

    Можно избавить компонент от фокуса:

    Чтобы принудительно показать клавиатуру, используйте следующий код:

    Кстати, повторный вызов метода закроет клавиатуру. Указанный способ не требует наличия элементов View.

    Если продолжить тему показа клавиатуры, то может возникнуть следующая ситуация. Допустим у вас есть DialogFragment с EditText. При выводе диалогового окна вам нужно установить фокус на EditText и показать клавиатуру:

    Либо используйте тег для нужного EditText.

    Изменить вид клавиатуры для данного EditText

    Когда элемент EditText получает фокус, то появляется клавиатура. Можно установить нужный вид клавиатуры через атрибут InputType или программно через метод setInputType():

    Читайте также:  Как спрятать настройки андроид

    TYPE_CLASS_DATETIME — дата и время
    TYPE_CLASS_NUMBER — цифры
    TYPE_CLASS_TEXT — буквы

    Переопределяем кнопку Enter

    Кроме атрибута InputType можно также использовать атрибут android:imeOptions в компоненте EditText, который позволяет заменить кнопку Enter на клавиатуре на другие кнопки, например, Next, Go, Search и др. Возможны следующие значения:

    • actionUnspecified: Используется по умолчанию. Система сама выбирает нужный вид кнопки (IME_NULL)
    • actionGo: Выводит надпись Go. Действует как клавиша Enter при наборе адреса в адресной строке браузера (IME_ACTION_GO)
    • actionSearch: Выводит значок поиска (IME_ACTION_SEARCH)
    • actionSend: Выводит надпись Send (IME_ACTION_SEND)
    • actionNext: Выводит надпись Next (IME_ACTION_NEXT)
    • actionDone: Выводи надпись Done (IME_ACTION_DONE)

    Чтобы увидеть все варианты воочию, можете создать несколько текстовых полей и переключаться между ними:

    Чтобы реагировать на нажатия разных состояний кнопки Enter, необходимо реализовать интерфейс TextView.OnEditorActionListener. Небольшой пример:

    В нашем примере если пользователь ищет что-то, не связанное с котом, то кнопка поиска не будет выполнять желание владельца устройства.

    Также можно поменять текст на кнопке с помощью атрибута android:imeActionLabel:

    Текст на кнопке поменялся, но вот обработка Enter из предыдущего примера у меня перестала работать. Мой неработающий код на память.

    Upd: Читатель Максим Г. предложил следующее решение проблемы. Убираем атрибуты imeOptions, imeActionId, imeActionLabel и установим их программно.

    По желанию можете отслеживать только у нужного поля. Поставьте дополнительное условие после первого блока if:

    Интерфейс OnKeyListener

    Чтобы среагировать на нажатие клавиши внутри существующего представления из активности, реализуйте интерфейс OnKeyListener и назначьте его для объекта View, используя метод setOnKeyListener(). Вместо того, чтобы реализовывать отдельные методы для событий нажатия и отпускания клавиш, OnKeyListener использует единое событие onKey().

    Используйте параметр keyCode для получения клавиши, которая была нажата. Параметр KeyEvent нужен для распознавания типа события (нажатие представлено константой ACTION_DOWN, а отпускание — ACTION_UP).

    Сдвигаем активность

    Чтобы всплывающая клавиатура не заслоняла элемент интерфейса, который получил фокус, а сдвигала активность вверх, можно в манифесте для нужной активности прописать атрибут android:windowSoftInputMode с параметром adjustPan:

    Также доступны и другие параметры:

    • stateUnspecified — настройка по умолчанию. Система сама выбирает подходящее поведение клавиатуры.
    • stateUnchanged — клавиатура сохраняет своё последнее состояние (видимое или невидимое), когда активность с текстовым полем получает фокус.
    • stateHidden — клавиатура скрыта, когда открывается активность. Клавиатура появится при наборе текста. Если пользователь переключится на другую активность, то клавиатура будут скрыта, но при возвращении назад клавиатура останется на экране, если она была видима при закрытии активности.
    • stateAlwaysHidden — клавиатура всегда скрывается, если активность получает фокус.
    • stateVisible — клавиатура видима.
    • stateAlwaysVisible — клавиатура становится видимой, когда пользователь открывает активность.
    • adjustResize — размеры компонентов в окне активности могут изменяться, чтобы освободить место для экранной клавиатуры.
    • adjustPan — окно активности и его компоненты не изменяются, а сдвигаются таким образом, чтобы текстовое поле с фокусом не было закрыто клавиатурой.
    • adjustUnspecified — настройка по умолчанию. Система сама выбирает нужный режим.

    Параметры с префиксом state можно комбинировать с настройками с префиксом adjust:

    Например, чтобы показать клавиатуру при старте активности, используйте stateVisible.

    Данные настройки доступны и программно. Например, код для adjustResize:

    Кстати, этот код не сработает в полноэкранном режиме (флаг FLAG_FULLSCREEN). Сверяйтесь с документацией.

    Узнать выбранный язык на клавиатуре

    Для определения текущего языка на клавиатуре можно использовать следующий код.

    Следует быть осторожным с примером. На эмуляторе с Android 6.0 пример работал корректно. На реальных устройствах у меня корректно определялся русский язык, но при переключении на английский язык выдавал пустую строку или значение «zz». В этом случае можно прибегнуть к условиям if и проверять ожидаемое значение.

    Источник

    Adblock
    detector