2

我希望在Android中同时在Android中实现手机垫和键盘。根据我的要求,EditText应显示默认的电话垫。但用户也必须能够输入字母。请建议我一种方法来实现这一点。

 <EditText
                android:id="@+id/editTextref1"
                android:layout_width="210dp"
                android:layout_height="45dp"
                android:layout_alignParentRight="true"
                android:layout_marginTop="10dp"
                android:ellipsize="start"
                android:hint="@string/custom1"
                android:imeOptions="actionNext|actionDone"
                 android:inputType="text"
                android:nextFocusDown="@+id/editTextref2"
                android:shadowDy="10"
                android:textColor="#383838"
                android:textSize="14sp"
                android:textStyle="bold"
                android:maxLength="15"
                android:typeface="serif" />
4

1 回答 1

1

我想假设不可能以简单而优雅的方式做到这一点。问题是您输入的类型是InputType.TYPE_CLASS_TEXT并且不能更改为,InputType.TYPE_CLASS_NUMBER因为您还需要输入字母。

问题是输入法会检查输入的类型,并根据字段输入类型的类型为您提供带有数字或字母的适当键盘。如果您要求输入法为您提供数字键盘并且您已经EditText获得焦点,则您不能在代码中强制输入法切换到字母键盘。我可能错了,但这就是我的想法。

问题是您是否可以在编辑文本时要求任何第三方输入法为您提供不同的键盘 - 我认为您不能在代码中这样做。输入法会根据您的情况为您提供数字或字母,EditText但您无法动态切换它们,因为输入法不知道您的设计问题。您可以做到这一点的唯一方法是制作自己的输入法,允许您动态切换数字和字母键盘。

于 2013-01-14T12:34:59.253 回答