- Как создать раскладку клавиатуры для андроид
- Text Layout Tools или смена раскладки текста на Android
- Как поменять раскладку клавиатуры на андроиде?
- Опубликовано kachlife в 29.10.2020 29.10.2020
- Как переключить язык ввода (клавиатуры) на смартфоне либо планшете Android.
- Переключаем язык на виртуальной клавиатуре андроида
- Переключаем язык на физической клавиатуре Андроида
- Как можно сменить клавиатуру на Андроиде
- Изменение клавиатуры в настройках Андроида
- Настройка стандартной клавиатуры
- Использование сторонних приложений
- Несколько способов поменять язык на клавиатуре на Android
- На какие языки можно переключать
- Можно ли добавить свой язык?
Как создать раскладку клавиатуры для андроид
Сегодня мы научимся делать не что то там, а самую настоящую клавиатуру со всем стандартным набором возможностей, которую при желании вы сможете даже использовать на своем Android устройстве вместо стандартной (ну представьте себе — печатать смс-ки на собственной клавиатуре, что может быть лучше:)). Если вы думаете, что урок будет очень сложным — то вы правы вы ошибаетесь. Оказывается, что в стандартном функционале Android SDK Manager есть абсолютно все необходимое для создания полноценной клавиатуры без лишних страданий. Нам не нужно будет ни вырисовывать внешний вид клавиш, ни настраивать распознавание нажатий клавиш, ни мучиться с привязыванием нашей будущей клавиатуры к полям ввода. Все это уже по умолчанию есть в SDK Manager, нам только осталось научиться этим воспользоваться!
Начнем. Создаем новый проект, я назвал его Keyboard (как мы неоднократно договаривались — все названия на ваше усмотрение, только лишь бы вы сами в них не путались). На том шаге, когда нам предлагается создать какую либо Activity, выбираем Add No Activity и жмем финиш.
Перво наперво, что нам нужно сделать это получить для нашего приложения разрешение ему быть клавиатурой:). Мы хотим создать свое устройство ввода, что называется Input Method Editor (IME), оно определяется в файле манифеста как Service, использующий разрешение BIND_INPUT_METHOD и соответствует действию android.view.InputMethod. Идем в файл манифеста AndroidManifest.xml и добавляем в тег следующее:
Видим красные подчеркивания (нам не привыкать), не волнуемся.
Тег Service содержит тег , который ссылается на несуществующий пока файл method.xml. без этого файла ОС Android не признает нашу клавиатуру как корректный метол ввода, который можно использовать. Этот файл должен содержать подробности о методе ввода и его подтипах. Для нашей клавиатуры определим всего один подтип для en_US локализации (не будем пока экспериментировать с русским, нам главное понять принцип). Создаем в приложении res/layout папку и создаем в ней нужный нам файл method.xml. Вносим в файл res/layout/mehod.xml следующее:
Теперь давайте отредактируем файл строковых ресурсов res/values/strings.xml. Нам нужно добавить сюда строки для:
— название для IME;
— название для подтипа IME;
Имя приложения у нас уже есть, остается только добавить две нужные строчки. Отредактированный файл strings.xml выглядит так:
Теперь нужно определить внешний вид клавиатуры. Файл layout для нашей клавиатуры будет содержать только один объект — KeyboardView. Для того, чтобы наша клавиатура появлялась в низу экрана, настроим атрибут layout_alignParentBottom со значением true. Создаем файл res/layout/keyboard.xml следующее:
Строка keyPreviewLayout отвечает за то, как будет выглядеть нажатая клавиша на нашей клавиатуре. Как видите, за ее вид будет отвечать файл preview, который мы и создадим. Создаем файл res/layout/preview.xml и добавим в него следующее содержимое:
Теперь нужно определить клавиши клавиатуры. Подробное описание клавиш и их расположение описывается в специальном .xml файле. Каждая клавиша имеет следующие атрибуты:
— keyLabel — название клавиши, которое будет отображаться на клавише;
— codes — этот атрибут содержит уникальный код, который характеризует нажатую клавишу.
Каждая клавиша, будь то цифра, буква, какой — либо знач имеют свой собственный уникальный код. Например, буква А имеет значение codes — 97, соответственно keyLabel нужно придать значение «А». Одной клавише можно задать несколько значений в атрибут codes, то клавиша будет принимать определенное значение из этих троих а зависимости от того, сколько раз мы нажали на клавишу (вспомните клавиатурный набор на старых мобильных — на одной клавише «а,б,в,г» и т.д.). Например, если мы зададим кнопке коды 63,33 и 58 то при одном нажатии получим символ «?», при двух нажатиях в короткой последовательности получим «!», а при троих нажатиях — двоеточие «:».
Клавиша может иметь еще несколько атрибутов:
— keyEdgeFlags — атрибут может применять значение left или right. Эти атрибуты добавляются клавишам, которые расположены в самом левом или самом правом положении, соответственно;
— keyWidth — определяет ширину клавиши. Как правило задается в процентах;
— isRepeatable — если этот атрибут имеет значение true, то долгое нажатие на клавишу будет повторять ее действие несколько раз (например «аааааа»), как правило эту опцию включают для клавиш удаления, пробела и т.п.
Клавиши в клавиатуре сгруппированы в колонки. Довольно практично делать по 10 клавиш в колонке и каждой клавише отдавать 10% ширины от общей ширины клавиатуры. Мы выставим высоту клавиш равную 60dp. Можно ее изменять, но не рекомендуется делать высоту меньше 48 dp. У нас будет 5 столбцов клавиш.
Переходим от теории к действию. Создаем файл res/layout/qwerty.xml. Файл должен содержать следующий код:
Некоторые клавиши могут иметь отрицательное значение атрибута codes, они эквиваленты встроенным константам в класс Keyboard. Например, значение -5 соответствует значению Keyboard.KEYCODE_DELETE.
Теперь создадим новый Java класс и назовем его IME.java. Он должен наследовать класс InputMethodService и выполнять интерфейс OnKeyboardActionListener. Этот интерфейс содержит методы, которые вызываются при нажатии на клавиши.
Класс IME должен иметь 3 типа переменных:
— KeyboardView — ссылающийся на вид, определенный в layout файле;
— Keyboard — применяет то, что было назначено в KeyboardView;
— boolean — сообщает о включенном caps lock-е.
Если проделать все сказанное, наш файл IME.java приобретает вид:
Когда клавиатура создана, вызывается метод onCreateInputView. Все переменные тега Service можно инициализировать прямо здесь в методе. Добавьте метод onCreateInputView:
Теперь нужно настроить проигрывание звука при нажатии на клавиши. Используем для этого класс AudioManager. Используем стандартные звуки в методе PlayClick. Код блока настройки звука:
Теперь нам нужно настроить метод onKey для того, чтобы заставить нашу клавиатуру работать с полями ввода (как правило EditText) других приложений. Для этого используется метод getCurrenrInputConection. Здесь нужно настроить следующее:
— commitText — для добавления одного или больше символов в поле ввода;
— deleteSurroundingText — для удаления одного или более символов в поле ввода;
— sendKeyEvent — отослать событие, типа KEYCODE_ENTER, во внешнее приложение (любое где мы будем использовать нашу клавиатуру).
Каждый раз когда пользователь нажимает на клавишу на клавиатуре вызывается метод onKey, передавая уникальное значение (codes рассмотрено выше) нажатой клавиши. Учитывая значение принятого кода, клавиатура выполняет определенное действие, которое соответствует коду.
Приведите свой метод onKey к такому виду:
И вот наконец то все! Мы добили наш урок и клавиатура готова к тестированию. Стоит отметить, что так, как наша клавиатура не имеет никакого Activity (Add No Activity, помните?) то ее после установки на эмулятор или устройство не отобразит среди установленных программ. Все дружно идем в настройки — настройки ввода и клавиатуры и там активируем наше творение, как используемый (или один из используемых) метод ввода. Запускаем что либо, где нужно вводить текст, и тестим!
Источник
Text Layout Tools или смена раскладки текста на Android
Т.е. Привет, Пикабу!
Не буду лукавить, говоря, что никогда не печатал подобную кракозябру.
На Windows, Mac и Linux можно найти сразу несколько программ для исправления раскладки текста, но вот поиск по запросу «Punto switcher для Android» выдаёт неутешительные результаты, что таких не имеется.
Конечно, с отказом от физических кнопок проблема кажется неактуальной, но немало людей пользуются планшетами с клавиатурой. А ещё есть BlackBerry с их клавиатурниками:
И вот тут возникает трудность, что нет понимания, на каком языке сейчас печатаешь, пока не начнёшь печатать. В Windows есть значок в трее РУС/ENG, в то время как Android заставляет пользователей гадать или напрягать память.
В какой-то момент мне это надоело, и я начал поэтапное освоение возможностей андроида с целью хоть как-то исправить ситуацию. Так появилась программа Text Layout Tools.
Поначалу функционал ограничивался только исправлением выделенного слова, например «Ntrcn» на «Текст». Позже добавились горячие клавиши, настройки. и понеслась. За полтора года эволюции основным нововведением стало исправление текста на лету, как это сделано в аналогах.
Т.е. вы печатаете слово; если оно набрано в неверной раскладке, оно автоматически исправится. Иногда бывают неточности, и тогда замена не происходит. Принудительно сменить раскладку последнего набранного слова можно комбинацией Ctrl+Q.
Теперь хотелось бы остановиться на настройках, которые влияют на правильную работу на конкретном устройстве. Таких немного, но от них многое зависит:
Метод ввода задаёт соответствие между русскими и английскими символами. Так программа понимает, что «й» — это «q», а «и» — это «b».
— Йцукен, translit и qwertz – варианты для телефонов BlackBerry (в зависимости от вашего предпочтения раскладки).
— USB-клавиатура – для планшетов.
2. Быстрая клавиша
Клавишу Ctrl нужно назначить на ту кнопку, которая выполняет роль Ctrl на клавиатуре.
— CTRL (USB-клавиатура) – соответственно для внешних клавиатур.
— Остальные варианты обусловлены тем, что на телефонах KeyOne и Key2 можно переназначать кнопку Ctrl.
Можно печатать (не забудьте при этом разрешить работу сервису Text Layout Tools).
Остальные настройки позволяют подстроить поведение под себя. Например:
• Сменить Ctrl+Q на другое сочетание,
• Задать список слов-исключений, которые не будут переводиться в другую раскладку,
• Изменить звуковой сигнал при переключении языка,
• Включить индикацию текущего языка в трее и в любом месте экрана (работает не у всех. В идеале нужно приложение-клавиатура BlackBerry из Play маркета),
• И многие другие.
Уместно будет посмотреть на работу программы вживую.
Видео вертикальное, так как записывал с телефона. Можно без звука, но с ним картина полнее.
Индикаторы-флаги показывают текущий язык в трее и внизу экрана. Их поведение также настраивается.
В будущем планирую сделать мастер настройки при первом запуске.
В настоящее время работаю над реализацией чёрного списка списка приложений-исключений, в которых автоисправление будет по желанию отключено.
К сожалению, не всегда раскладка определяется верно, и не на всех устройствах индикатор показывает выбранный язык. Но программа развивается, баги исправляются, а новые идеи реализуются, добавляя баги и тем самым замыкая круг.
Если у вас возникли сложности с настройкой или вопросы касательно программы, милости прошу. Я открыт для обсуждения имеющегося и нового функционала.
Программу я делал для себя и не отрицаю, что есть спорные моменты. Делюсь и буду рад, если кто-то сбережёт себе немного нервов и времени при наборе текста.
Источник
Как поменять раскладку клавиатуры на андроиде?
Опубликовано kachlife в 29.10.2020 29.10.2020
Так как в современном мире все больше распространяется изучение иностранных языков, у людей возникает необходимость в изменении своей клавиатуры, в том числе и на андроиде. Однако при этом следует знать основные принципы процесса. В данной же статье попробуем подробно их рассмотреть.
Как переключить язык ввода (клавиатуры) на смартфоне либо планшете Android.
Каких только вопросов и проблем не возникает во время эксплуатации устройств с «зеленым роботом». Один из самых распространенных: как в андроиде переключать язык клавиатуры. Бывает, выберешь один, печатаешь на нем. И вот необходимо на другой перейти язык, а не тут-то было. Не получается. Уже закрадывается мысль, есть ли на андроиде вирус, или причина проще. И какие только волшебные комбинации не «набираются», но ничего не помогает. Тогда на помощь может прийти инструкция.
Переключаем язык на виртуальной клавиатуре андроида
Не секрет уже ни для кого, что на устройстве может быть виртуальная и физическая (юсб) клавиатура. Разберемся для начала с сенсорной.
1. Зайдите в настройки. Если же вы не можете сменить английский язык, то ищите Settings.
2. Находите «Язык и клавиатура», на английском этот раздел будет называться «Language & keyboard”.
3. Теперь выбирайте настройки клавиатуры.
4. Пошуршите внутри. Вам требуется обнаружить что-то вроде «язык ввода» либо «клавиша выбора языка». В разных устройствах (да и русификация может давать разный перевод).
5. Теперь выбирайте необходимый вам язык для клавиатуры. После сохранения этот язык добавится на виртуальную клавиатуру (галочки поставьте). «Действующий» язык будет написан на пробеле.
Чтобы сменить раскладку потребуется либо по пробелу влево-вправо поводить пальцем, либо нажать на специальную кнопку (чаще всего в виде схематического глобуса). Все зависит от вида клавиатуры, поэтому и варианты различны. К примеру, с Самсунгами приходится повозиться чуть подольше, потому что найти «галочки» у них посложнее. Однако если следовать инструкции четко, то быстро разберетесь и добавите необходимые языки. При необходимости их можно «докачать» из сети. Разумеется, в этом случае создание папки на айфоне — затея ненужная.
Переключаем язык на физической клавиатуре Андроида
Данный способ относится к планшетам, поскольку чаще всего у них имеются юсб-клавиатуры для удобства печатания. Как в андроиде переключить язык клавиатуры, если она физическая? Тоже довольно-таки просто.
1. Опять же первым делом необходимо в настройках поставить галочки напротив нужных вам языков.
2. Сохраните выбранное.
3. Дальше уже в зависимости от выбранного (или же из-за прошивки) переключение языков может осуществляться различными комбинациями клавиш: Ctrl+Shift (либо левые, либо правые, либо оба рабочих варианта) – наиболее распространенный способ переключения раскладок.
Иногда встречаются клавиатуры с тем же символом «глобуса». Но опять же, чтобы «клава» работала, необходимо на самом Андроиде ее настраивать. Только после всех настроек на ней станет возможно переключать раскладки на свое усмотрение.
Как можно сменить клавиатуру на Андроиде
Начнём с самого начала — с того, что собой представляет виртуальная клавиатура. Используется она на телефонах Android во всех случаях, когда требуется набрать какой-либо текст, номер, адрес электронной почты и так далее — и, по сути, является обычным приложением. Поскольку совсем без клавиатуры смартфон поставляться не может, на каждой модели присутствует встроенная версия, обычно не удаляемая стандартными методами. Правда, это и не требуется: неудобную вшитую программу вы можете легко и быстро поменять на любую стороннюю.
Самый безопасный способ загрузить подходящий вариант — найти и установить его непосредственно в магазине Google Play. В этой статье, мы представим 10 клавиатур, которые можно установить на телефон с Андроидом. Прежде чем поменять клавиатуру на Андроиде, учтите, что разница между стандартным и новым приложениями может заключаться лишь в оформлении и расположении двух-трёх клавиш. Такие отличия несущественны и вряд ли характеризуют по-настоящему удобную клавиатуру.
Обратим ваше внимание ещё на одну деталь. Поскольку вы будете пользоваться современными релизами, предпринимать сложные манипуляции, необходимые для переключения клавиатуры Андроид, вам не придётся. Достаточно будет несколько раз тапнуть «Да», выбрать интерфейс, языки — и приступить к использованию. Приведённые ниже меры помогут тогда, когда автоматического переключения по каким-либо причинам не произошло — или когда вы, разочаровавшись в скачанном приложении, собираетесь вернуть клавиатуру на Андроид, установленную производителем.
Изменение клавиатуры в настройках Андроида
Итак, на вашем смартфоне Android уже установлено несколько приложений, как штатных, так и от сторонних разработчиков. Чтобы переключиться с одной клавиатуры на другую, следуйте простой инструкции:
- Откройте общее меню программ и тапните по ярлычку «Настройки». Не перепутайте — вам понадобится пиктограмма-«шестерёнка», не содержащая буквы G.
- Отыщите в открывшемся списке подпункт, называемый «Язык и ввод». Наименования могут несущественно различаться — ориентируйтесь на смысл заголовка.
- Поищите на новой странице мини-раздел, называемый «Клавиатура и ввод/способы ввода». Здесь, чтобы выполнить смену служебного приложения, вам нужно тапнуть по заголовку «Текущая клавиатура».
- В новом окошке укажите, какую раскладку для вновь устанавливаемой клавиатуры предпочитаете. После этого можете нажимать на ссылку «Выбрать раскладку» — именно с её помощью вы сможете задать нужную программу для ввода.
- В результате описанных манипуляций вы должны оказаться в новом разделе, содержащем перечень всех доступных для выбора приложений. Как видите, здесь может быть представлена не только русская клавиатура для Андроид, но и другие варианты ввода — вплоть до иероглифического и голосового. Выберите подходящую программу.
- В том же порядке можете задать клавиатуру Android, которая будет автоматически включаться для латинской раскладки.
Пользуетесь современной версией операционной системы? Тогда перечисленные выше действия можно свести к более простой последовательности:
- Поищите в общем списке «Настроек» подраздел «Язык и ввод». Если здесь его нет, откройте вкладку «Расширенные настройки» — нужный вам заголовок может содержаться в ней. Чтобы упростить себе задачу, воспользуйтесь поисковой строкой, размещённой в верхней части страницы.
- Теперь, чтобы сменить одно служебное приложение Андроид на другое, тапните по заголовку «Управление клавиатурами» — он обязательно будет содержаться в открытом подразделе. На новой странице вы можете найти и активировать подходящий вариант.
- Теперь, снова оказавшись в исходном подразделе, нажмите на кнопку «Текущая клавиатура». В новом окошке будет представлено несколько приложений на выбор — тапните по тому, которое считаете подходящим.
Теперь вы знаете, как изменить клавиатуру на Андроид штатным способом. В дальнейшем всё будет значительно проще: достаточно, вызвав текущее приложение, несколько секунд удерживать кнопку «Выбрать раскладку», а затем, когда появится уже знакомое окошко, тапнуть по подходящему наименованию приложения Android.
Таким способом можно выбирать программы до бесконечности — а затем, при необходимости, снова возвратиться ко встроенному по умолчанию приложению.
Настройка стандартной клавиатуры
Пошаговая инструкция, как настроить клавиатуру на Андроиде, представлена на примере Xiaomi Redmi Note 7. Меню других смартфонов может несколько отличаться, однако основные функции и название операций будут одинаковыми для всех смартфонов.
Чтобы открыть меню настроек клавиатуры, нужно выполнить такие действия:
- Открыть «Настройки» и найти пункт «Расширенные настройки».
- Перейти в меню «Язык и ввод».
На экране будет отображаться меню настроек клавиатуры, первой опцией которых является настройка языка. Обратите внимание, что эта функция предполагает смену языка меню во всем телефоне.
Следующая опция отображает текущую клавиатуру и позволяет выполнить ее индивидуальные настройки.
При нажатии на «Управление клавиатурами» пользователь сможет:
«Настройки ввода» позволяют пользователю:
В этом окне пользователь сможет настроить языки для голосового распознавания, включить функцию цензуры, распознавания речи оффлайн, разрешить команды по Bluetooth на заблокированном устройстве.
Использование сторонних приложений
Клавиатура в смартфоне – это просто приложение, поэтому выбор пользователя не ограничивается стандартным функционалом. В Play.Market можно скачать десятки разнообразных программ для клавиатуры, которые отличаются интерфейсом, набором смайлов и прочих дополнительных бонусов. Основной функционал такого софта идентичен.
Для примера представлена работа с популярным среди пользователей приложением SwiftKey. Разработчики этой программы предусмотрели возможность анализа стиля написания, благодаря чему появляются подсказки из словарного запаса пользователя, что ускоряет набор текста. Также особенностью этой клавиатуры являются встроенные смайлики и анимации.
После скачивания приложения нужно перейти в настройки и включить новую раскладку – SwiftKey.
После этого клавиатура примет такой вид:
При желании вернуться обратно к клавиатуре Gboard, нужно перейти в «Настройки» — «Расширенные настройки» — «Язык и ввод» — «Управление клавиатурами» и выбрать стандартное решение вашего Андроида.
Несколько способов поменять язык на клавиатуре на Android
Абсолютное большинство клавиатур, за исключением экзотических и «конструкторов», без каких-либо дополнительных настроек предлагают пользователю две основные раскладки: родную и английскую. При необходимости перейти с кириллицы на латиницу и обратно возникает вопрос, как это сделать; ниже перечислим самые простые способы.
Так, в одной из самых популярных программ, SwiftKey, смена языка производится следующим образом:
- Найдите в самом нижнем ряду кнопку пробела, после чего проведите по ней пальцем, не задерживая нажатие, вправо или влево. Можете начинать от центра или с противоположного конца.
- В итоге вы должны увидеть, что буквенный (а иногда и символьный) ряд сменился на другой, нужный вам.
Другие клавиатуры Android предлагают альтернативные способы смены раскладки. К ним относится, например, Gboard, предлагающая пользователю отдельную кнопку. В этом случае переключение языка на клавиатуре Андроид выглядит так:
- Вы отыскиваете кнопочку с пиктограммой глобуса и тапаете по ней.
- После этого в течение нескольких мгновений исходная раскладка сменяется на нужную.
Иногда требуется сделать ещё более сложную вещь: добавить к списку имеющихся раскладок, поддерживаемых клавиатурой, одну или несколько новых. Следуйте алгоритму:
- Откройте, тапая на ярлычку-«шестерёнке», системные «Настройки».
- Войдите в подраздел с наименованием «Язык и ввод». Название может, в зависимости от версии Андроид, модели телефона и прочих факторов, несущественно отличаться от представленного.
- Кроме того, для скорейшего отыскания подраздела можете ввести его название в строке поиска.
- В открывшемся перечне нажмите на заголовок клавиатуры Андроид, которую используете в настоящее время.
- Перейдите к разделу с названием «Языки».
- Теперь обратите внимание на нижнюю часть страницы. Здесь вы увидите кнопку «Добавить клавиатуру» — воспользуйтесь ею, чтобы подгрузить новую раскладку.
- Кроме того, тапая по пиктограммке карандаша вы сможете выполнить редактирование уже имеющихся языков, которые предлагает ваша клавиатура Андроид.
На какие языки можно переключать
Кроме стандартных вариантов, пользователю могут быть представлены следующие варианты:
- Украинский;
- Казахский;
- Монгольский;
- Испанский;
- Французский;
- Белорусский;
- Португальский;
- Узбекский;
- Китайский;
- Японский.
Конечно же, кроме выше названных представителей, возможен доступ и к иным языкам. Однако этот факт будет зависеть непосредственно от производителя вашего изобретения. Чаще всего можно найти наиболее распространенные виды. Если говорить о смене исключительно через раскладку, а не через настройки, то там будут представлены только те, что вы предварительно выбирали в меню.
Можно ли добавить свой язык?
Если же вы не нашли нужный язык, его можно скачать. Во встроенном play market каждый желающий имеет возможность найти любую разновидность. При этом не надо будет тратить денежные средства, так как файл находится в общем доступе. После скачивания надо будет распаковать ссылку, настроить предоставляемые параметры.
Далее надо будет проводить аналогичную последовательность действий, что представлена непосредственно выше в статье. То есть зайти в настройки, отметить тип. После чего на клавиатуре придется выбрать язык. В дальнейшем можно им пользоваться.
Источник