我正在从this教程构建自定义Hindi
android soft keyboard
。我在此key
上有一个名为123
的{{1}}。我想将键盘布局更改为另一个由数字组成的布局(我已准备好这个数字布局的xml文件),但我不知道。我该怎么做?
这是我的印地语字母的xml文件:
keyboard
这是主要的java文件:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:horizontalGap="0px"
android:verticalGap="0px"
android:keyHeight="60dp">
<Row>
<Key android:codes="0x0905" android:keyLabel="अ" android:keyEdgeFlags="left"/>
<Key android:codes="0x0906" android:keyLabel="आ"/>
<Key android:codes="0x0907" android:keyLabel="इ"/>
<Key android:codes="0x0908" android:keyLabel="ई"/>
<Key android:codes="0x0909" android:keyLabel="उ"/>
<Key android:codes="0x090A" android:keyLabel="ऊ"/>
<Key android:codes="0x090F" android:keyLabel="ए"/>
<Key android:codes="0x0910" android:keyLabel="ऐ"/>
<Key android:codes="0x0913" android:keyLabel="ओ"/>
<Key android:codes="0x0914" android:keyLabel="औ" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="0x0915" android:keyLabel="क" android:keyEdgeFlags="left"/>
<Key android:codes="0x0916" android:keyLabel="ख"/>
<Key android:codes="0x0917" android:keyLabel="ग"/>
<Key android:codes="0x0918" android:keyLabel="घ"/>
<Key android:codes="0x091A" android:keyLabel="च"/>
<Key android:codes="0x091B" android:keyLabel="छ"/>
<Key android:codes="0x091C" android:keyLabel="ज"/>
<Key android:codes="0x091D" android:keyLabel="झ"/>
<Key android:codes="0x0902" android:keyLabel="ं"/>
<Key android:codes="0x0903" android:keyLabel="ः" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="0x091F" android:keyLabel="ट" android:keyEdgeFlags="left"/>
<Key android:codes="0x0920" android:keyLabel="ठ"/>
<Key android:codes="0x0921" android:keyLabel="ड"/>
<Key android:codes="0x0922" android:keyLabel="ढ"/>
<Key android:codes="0x0924" android:keyLabel="त"/>
<Key android:codes="0x0925" android:keyLabel="थ"/>
<Key android:codes="0x0926" android:keyLabel="द"/>
<Key android:codes="0x0927" android:keyLabel="ध"/>
<Key android:codes="0x0928" android:keyLabel="न"/>
<Key android:codes="-100" android:keyLabel="क्षत्रज्ञ" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="0x092A" android:keyLabel="प" android:keyEdgeFlags="left"/>
<Key android:codes="0x092B" android:keyLabel="फ"/>
<Key android:codes="0x092C" android:keyLabel="ब"/>
<Key android:codes="0x092D" android:keyLabel="भ"/>
<Key android:codes="0x092E" android:keyLabel="म"/>
<Key android:codes="0x092F" android:keyLabel="य"/>
<Key android:codes="0x0930" android:keyLabel="र"/>
<Key android:codes="0x0932" android:keyLabel="ल"/>
<Key android:codes="0x0935" android:keyLabel="व"/>
<Key android:codes="-5" android:keyLabel="✖"
android:isRepeatable="true"
android:keyEdgeFlags="right" />
</Row>
<Row android:rowEdgeFlags="bottom">
<Key android:codes="0" android:keyLabel="123"/>
<Key android:codes="0x0936" android:keyLabel="श"/>
<Key android:codes="0x0938" android:keyLabel="स"/>
<Key android:codes="32" android:keyLabel="SPACE" android:keyWidth="40%p" android:isRepeatable="true"/>
<Key android:codes="0x0939" android:keyLabel="ह"/>
<Key android:codes="124"
android:keyLabel="|"
android:popupCharacters=",!.,?"
android:popupKeyboard="@xml/commapopup"
android:keyWidth="10%p"/>
<Key android:codes="-4" android:keyLabel="DONE" android:keyEdgeFlags="right"/>
</Row>
</Keyboard>
</PreferenceScreen>
答案 0 :(得分:1)
在switch语句中Onkey
方法将case作为case 0(代码为123 key)并使用以下内容:
keyboard = new Keyboard(this, R.xml.number);
kv.setKeyboard(keyboard);
kv.setOnKeyboardActionListener(this);
此处number.xml
是数字键盘的布局文件。希望这有帮助。