如何创建仅包含数字的自定义 Android 键盘?
How do I create a custom Android keyboard with numbers-only?
我需要创建一个只包含数字的自定义键盘。
但是我找到的所有教程都是关于普通键盘 (qwerty) 的。
我需要这样的布局,但我什至不知道从哪里开始。
请注意,仅对我的 editTexts 使用 numbers
或 phone
输入法是行不通的。
我现在不使用键盘而是使用 GridLayout
。
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_gravity="center"
android:columnCount="3"
android:orientation="horizontal"
android:weightSum="3">
<Button
android:layout_columnWeight="1"
android:text="1" />
<Button
android:layout_columnWeight="1"
android:text="2" />
<Button
android:layout_columnWeight="1"
android:text="3" />
<Button
android:layout_columnWeight="1"
android:text="4" />
<Button
android:layout_columnWeight="1"
android:text="5" />
<Button
android:layout_columnWeight="1"
android:text="6" />
<Button
android:layout_columnWeight="1"
android:text="7" />
<Button
android:layout_columnWeight="1"
android:text="8" />
<Button
android:layout_columnWeight="1"
android:text="9" />
<Button
android:layout_columnWeight="1"
android:layout_column="1"
android:text="0" />
</GridLayout>
我基本上像本教程中那样做了:
https://code.tutsplus.com/tutorials/create-a-custom-keyboard-on-android--cms-22615
但是用这个
替换了qwerty.xml代码
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="23.4375%p"
android:keyHeight="10%p" >
<Row>
<Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left" />
<Key android:codes="50" android:keyLabel="2" />
<Key android:codes="51" android:keyLabel="3" />
<Key android:codes="-5" android:keyLabel="Del" android:isRepeatable="true" android:horizontalGap="6.25%p" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="52" android:keyLabel="4" android:keyEdgeFlags="left" />
<Key android:codes="53" android:keyLabel="5" />
<Key android:codes="54" android:keyLabel="6" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="55" android:keyLabel="7" android:keyEdgeFlags="left" />
<Key android:codes="56" android:keyLabel="8" />
<Key android:codes="57" android:keyLabel="9" android:keyEdgeFlags="right"/>
<Key android:codes="-2" android:keyLabel="123" android:horizontalGap="6.25%p"/>
</Row>
<Row>
<Key android:codes="0" android:keyLabel="ABC" android:keyEdgeFlags="left" />
<Key android:codes="46" android:keyLabel="."/>
<Key android:codes="48" android:keyLabel="0" />
<Key android:codes="10" android:keyLabel="Ent" android:horizontalGap="6.25%p" android:keyEdgeFlags="right" />
</Row>
123 和 ABC 只是在其他键盘之间导航。如果不需要,请删除它们。
我需要创建一个只包含数字的自定义键盘。
但是我找到的所有教程都是关于普通键盘 (qwerty) 的。
我需要这样的布局,但我什至不知道从哪里开始。
请注意,仅对我的 editTexts 使用 numbers
或 phone
输入法是行不通的。
我现在不使用键盘而是使用 GridLayout
。
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_gravity="center"
android:columnCount="3"
android:orientation="horizontal"
android:weightSum="3">
<Button
android:layout_columnWeight="1"
android:text="1" />
<Button
android:layout_columnWeight="1"
android:text="2" />
<Button
android:layout_columnWeight="1"
android:text="3" />
<Button
android:layout_columnWeight="1"
android:text="4" />
<Button
android:layout_columnWeight="1"
android:text="5" />
<Button
android:layout_columnWeight="1"
android:text="6" />
<Button
android:layout_columnWeight="1"
android:text="7" />
<Button
android:layout_columnWeight="1"
android:text="8" />
<Button
android:layout_columnWeight="1"
android:text="9" />
<Button
android:layout_columnWeight="1"
android:layout_column="1"
android:text="0" />
</GridLayout>
我基本上像本教程中那样做了:
https://code.tutsplus.com/tutorials/create-a-custom-keyboard-on-android--cms-22615
但是用这个
替换了qwerty.xml代码<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="23.4375%p"
android:keyHeight="10%p" >
<Row>
<Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left" />
<Key android:codes="50" android:keyLabel="2" />
<Key android:codes="51" android:keyLabel="3" />
<Key android:codes="-5" android:keyLabel="Del" android:isRepeatable="true" android:horizontalGap="6.25%p" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="52" android:keyLabel="4" android:keyEdgeFlags="left" />
<Key android:codes="53" android:keyLabel="5" />
<Key android:codes="54" android:keyLabel="6" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="55" android:keyLabel="7" android:keyEdgeFlags="left" />
<Key android:codes="56" android:keyLabel="8" />
<Key android:codes="57" android:keyLabel="9" android:keyEdgeFlags="right"/>
<Key android:codes="-2" android:keyLabel="123" android:horizontalGap="6.25%p"/>
</Row>
<Row>
<Key android:codes="0" android:keyLabel="ABC" android:keyEdgeFlags="left" />
<Key android:codes="46" android:keyLabel="."/>
<Key android:codes="48" android:keyLabel="0" />
<Key android:codes="10" android:keyLabel="Ent" android:horizontalGap="6.25%p" android:keyEdgeFlags="right" />
</Row>
123 和 ABC 只是在其他键盘之间导航。如果不需要,请删除它们。