2014-12-17 2 views
0

Программным Я здание андроида пользовательских клавиатуры на основе https://github.com/android/platform_development/tree/master/samples/SoftKeyboardКлавиатура Android Добавить ключ

Они имеют и символы букв на клавиатуру под папкой Реза/XML. Я добавил фиктивные клавиатуры (friendlist.xml), как показано ниже:

<?xml version="1.0" encoding="utf-8"?> 
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" 
     android:keyWidth="20%p" 
     android:horizontalGap="0px" 
     android:verticalGap="0px" 
     android:keyHeight="20%p" 
     > 

</Keyboard> 

мне нужно добавить в «Key» программно в эту клавиатуру (friendlist.xml). В SoftKeyboard.java,

Я добавил следующее:

private LatinKeyboard mFriendlistKeyboard; 

    @Override public void onInitializeInterface() { 
     if (mQwertyKeyboard != null) { 
      // Configuration changes can happen after the keyboard gets recreated, 
      // so we need to be able to re-build the keyboards if the available 
      // space has changed. 
      int displayWidth = getMaxWidth(); 
      if (displayWidth == mLastDisplayWidth) return; 
      mLastDisplayWidth = displayWidth; 
     } 
     mQwertyKeyboard = new LatinKeyboard(this, R.xml.qwerty); 
     mSymbolsKeyboard = new LatinKeyboard(this, R.xml.symbols); 
     mSymbolsShiftedKeyboard = new LatinKeyboard(this, R.xml.symbols_shift); 
     mFriendlistKeyboard = new LatinKeyboard(this, R.xml.friendlist); 

    } 

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

Цените любую помощь пожалуйста. Благодаря !

Cheerio, Марк Тхиен

ответ

0

Существует дополнительный конструктор, который принимает в качестве параметров ключей, чтобы добавить к клавиатуре. Его ограничивают символы.

Keyboard Constructor source

public Keyboard(Context context, int layoutTemplateResId, 
     CharSequence characters, int columns, int horizontalPadding); 

Пример динамической клавиатурой, которая включает в себя только вокал:

mFriendlistKeyboard = new Keyboard(this, R.xml.friendlist, 'AEIOU', -1, 0); 

Если вам нужно больше, чем просто ключи «характер», расширяя клавиатуры его будет necesary.

https://github.com/chrisboyle/sgtpuzzles/blob/master/app/src/main/java/name/boyle/chris/sgtpuzzles/SmallKeyboard.java

+0

Есть ли пример, чтобы объяснить, для добавления дополнительных клавиш для Android Native Keyboard Программным. @liloargana – Roster

+0

@Roster Я считаю, что добавлять ключи к встроенным клавиатурам по умолчанию невозможно, потому что вы не можете его программно создавать. Возможно, вам понадобится реализовать свою собственную клавиатуру и имитировать стиль по умолчанию. Проверьте http://stackoverflow.com/questions/14528178/how-can-i-implement-special-soft-keyboard – liloargana

+0

есть ли какое-либо решение для добавления времени выполнения строк и ключей –

Смежные вопросы