Перейти к содержимому

Как сделать свои буквы на клавиатуре

  • автор:

Как написать свою клавиатуру для Android

Здравствуйте. В данной статье я постараюсь рассказать и показать основные моменты написания собственной клавиатуры для Android’а. Статья предназначена для разработчиков, которые с этим не сталкивались, но имеют опыт знакомства с Android’ом.

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

Для начала необходимо создать пустой Android проект без Activity. После этого приступим к подготовке .xml файлов, которые будут описывать Android’у нашу клавиатуру.

Базовый layout-файл, keyboard.xml

Содержит в себе View класс Android’а под названием KeyboardView и описывает внешний вид клавиатуры.

  • android: keyPreviewHeight — задает высоту элемента подсказки, на котором отображается текущая нажатая клавиша.
  • android:keyPreviewLayout — указываем layout-файл, который описывает внешний вид preview’шки.

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

Описание раскладки

Итак, мы подготовили 2 .xml файла, которые описывают внешний вид, теперь настал черед описать саму раскладку клавиатуры. Назовем этот файл keys_definition_ru.xml и находится он будет в xml ресурсах проекта. Здесь будет представлен лишь его кусок, так как файл достаточно большой.

Все атрибуты описывать не будем, лишь «не очевидные».

  • android:horizontalGap — горизонтальный отступ между клавишами
  • android: verticalGap — вертикальный отступ
  • android:codes — код нужного символа в html utf-8 (и не только utf-8, подробнее в оф. документации)
  • android:keyEdgeFlags — атрибут может применять значение left или right. Эти атрибуты добавляются клавишам, которые расположены в самом левом крае или самом правом крае клавиатуры
  • android:isRepeatable — повторять действие клавиши при долгом нажатии (обычно используется на пробеле или backspace)

InputMethodService — сервис клавиатуры

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

Для этого создадим сервис, наследуясь от InputMethodService и сразу реализуем интерфейс KeyboardView.OnKeyboardActionListener. В итоге у вас получиться набор методов, которые вы можете переопределить и наполнить необходимой функциональностью, которые позволяют широко кастомизировать вашу клавиатуру. Но здесь я приведу лишь примеры базовых моментов.

Методы onCreateInputView и onKey

 @Override public View onCreateInputView() < mKeyboardView = (KeyboardView) getLayoutInflater().inflate(R.layout.keyboard, null); mKeyboard = new Keyboard(this, R.xml.keys_definition_ru); mKeyboard.setShifted(isCapsOn); //приводим клавиатуру к верхнему регистру, если шифт нажат включен mKeyboardView.setKeyboard(mKeyboard); mKeyboardView.setOnKeyboardActionListener(this); return mKeyboardView; >@Override public void onKey(int primaryCode, int[] ints) < Log.d(TAG, "onKey " + primaryCode); InputConnection ic = getCurrentInputConnection(); playClick(primaryCode); switch (primaryCode) < case Keyboard.KEYCODE_DELETE: ic.deleteSurroundingText(1, 0); break; case Keyboard.KEYCODE_SHIFT: handleShift(); break; case Keyboard.KEYCODE_DONE: ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER)); break; case Keyboard.KEYCODE_ALT: handleSymbolsSwitch(); break; case Keyboard.KEYCODE_MODE_CHANGE: handleLanguageSwitch(); break; default: char code = (char) primaryCode; if (Character.isLetter(code) && isCapsOn) < code = Character.toUpperCase(code); >ic.commitText(String.valueOf(code), 1); break; > > 

Одним из методов жизненного цикла InputMethodService является onCreateInputView внутри которого мы создаем View клавиатуры и привязываем к ней необходимые листенеры.

Событие onKey срабатывает между onPress и onRelease, на вход им подается код нажатой клавиши.

Итак, все готово… почти, осталось добавить наш сервис в манифест.

Поздравляю, вы написали свою первую клавиатуру!

Как создать свой язык и шрифт для клавиатуры?

Приветствую. Мне нужно создать свой шрифт с языком для клавиатуры (для ПК и андроида). Установил FontLab, вроде понятно, но. если я создам просто шрифт, то там будет только один язык, мой, правильно? А как сделать так, чтобы на клавиатуре появился другой язык со своим (моим) шрифтом? Чтобы можно было просто переключаться как с русского на англ и обратно.
С программой FontLab познакомился буквально сегодня. Нормальных видео туториалов не нашел. Если есть более удобные и понятные программы, буду рад совету.

P.S. создаваемый мной шрифт идет справа налево и почему то в начале каждой строки выводит ^. Вообще для меня сложный вопрос

  • Вопрос задан более трёх лет назад
  • 6950 просмотров

Изменение раскладки клавиатуры

В этой статье описано изменение раскладки клавиатур Майкрософт, указанных в разделе «Информация в данной статье применима к».

Клавиатуру можно настроить для другого языка или раскладки, например канадской многоязычной, испанской или раскладки США по Двораку. Вместе с системой Microsoft Windows устанавливается большой набор раскладок клавиатуры.

Как правило, настраивать раскладку клавиатуры в Windows приходится для того, чтобы обеспечить соответствие используемой клавиатуре. При выборе другой раскладки имейте в виду, что символы на клавиатуре могут не совпадать с теми, которые отображаются на экране.

Дополнительная информация

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

Примечание. В описании этих способов в качестве примера используется канадская раскладка клавиатуры для французского языка.

Windows 7 или Windows Vista

  1. Нажмите кнопку Пуск, в поле Начать поиск введите команду intl.cpl и нажмите клавишу ВВОД.
  2. На вкладке Клавиатура и языки нажмите кнопку Изменить клавиатуру.
  3. Нажмите кнопку Добавить.
  4. Разверните нужный язык, например «Французский (Канада)».
  5. Разверните список раскладок, установите флажок Канадская французская и нажмите кнопку OK.
  6. В разделе параметров выберите элемент Просмотр раскладки, чтобы сравнить ее с клавиатурой.
  7. В списке Язык ввода по умолчанию выберите пункт Французский (Канада) — Канадская французская и нажмите кнопку ОК два раза.

Windows XP

  1. Нажмите кнопку Пуск, введите команду intl.cpl в поле Выполнить и нажмите клавишу ВВОД.
  2. На вкладке Языки нажмите кнопку Подробнее.
  3. В разделе «Установленные службы» нажмите кнопку Добавить.
  4. В списке Язык ввода выберите нужный язык, например Французский (Канада).
  5. В списке Раскладка клавиатуры или метод ввода (IME) выберите пункт Канадская (французская) и нажмите кнопку ОК.
  6. В списке Выберите один из установленных языков ввода, который будет использоваться при загрузке компьютера, выберите пункт Французский (Канада) — Канадская французская и нажмите кнопку ОК.
  7. В диалоговом окне Язык и региональные стандарты нажмите кнопку ОК.

Проверка соответствия выбранной раскладки и клавиатуры

Windows 7 или Windows Vista
  1. Нажмите кнопку «Пуск», в поле Начать поиск введите команду osk и нажмите клавишу ВВОД.
  2. Сравните клавиатуру на экране с физической клавиатурой и убедитесь в том, что раскладки совпадают.
  3. Чтобы проверить символы в верхнем регистре, нажмите клавишу SHIFT на клавиатуре или экране и сравните символы.
Windows XP
  1. Нажмите кнопку Пуск, введите команду osk в поле Выполнить и нажмите клавишу ВВОД.
  2. Сравните клавиатуру на экране с физической клавиатурой и убедитесь в том, что раскладки совпадают.
  3. Чтобы проверить символы в верхнем регистре, нажмите клавишу SHIFT на клавиатуре или экране и сравните символы.

Ссылки

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

306993 Как использовать языковую панель в Microsoft Windows XP

Дополнительные сведения об использовании раскладки клавиатуры «США — международная» см. в следующей статье базы знаний Майкрософт:

306560 Как пользоваться раскладкой клавиатуры «США — международная» в Windows XP

Fontmaker – шрифтовая клавиатура 1.8.2.55

Fontmaker — приложение позволяющее создавать собственный шрифт с почерком и использовать его в качестве клавиатуры в Messages, Instagram*, Snapchat, Tiktok, Facebook* и других приложениях для общения с друзьями.

Подписывайтесь на наш Телеграм

Используйте свой собственный почерк в чате с друзьями, чтобы сделать его более личным и интимным.

  • Пользователи могут создавать свои собственные шрифты, используя более чем 1000 заранее подготовленных элементов.
  • Интерфейс Fontmaker прост и интуитивно понятен, что делает процесс создания шрифтов еще более увлекательным.
  • Пользователи могут настроить размер, цвет и форму шрифта, а также добавить различные эффекты и текстуры.
  • Fontmaker поддерживает множество языков, что делает его идеальным инструментом для создания персонализированных шрифтов для различных языков.
  • Созданные шрифты можно использовать в других приложениях, таких как социальные сети, мессенджеры и т.д.

* Деятельность Meta* (соцсети Facebook* и Instagram*) запрещена в России как экстремистская.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://czena.narkolog-na-dom-voronezh-11.ru/