EditText 输入类型显示不同的键盘
EditText input type displays different keyboards
我在所有智能手机上使用相同的 EditText。都是api26+.
<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:digits="0123456789,"
android:gravity="center"
android:inputType="number"
android:letterSpacing="0.2"
android:maxLength="9"
android:maxLines="1"
android:focusableInTouchMode="true"
android:imeOptions="actionDone"
android:textSize="@dimen/default_text"
android:textStyle="bold|italic"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
但在某些智能手机上键盘显示方式不同。在 EditText 中,我允许用户编写 [0123456789,] 符号。但是正如您在其中一个键盘中看到的那样,我不允许输入逗号。如何为所有设备使用一种类型的键盘?如果我指定输入类型,它们显示不同的原因是什么?
不同 Android phone 制造定制 android OS 根据他们的需要,可以修改键盘布局以显示不同。即使您可以拥有可以提供不同键盘的应用程序 UI。如果您提到 android:inputType="number" 并且即使键盘布局显示点 (.) 或逗号 (,) 它也不会接受相同的。为什么你会接受只接受数字的字段的逗号(,)?如果你想要十进制数,那么使用 android:inputType="numberDecimal"。如果你想在所有 smartphones 上使用通用布局,那么你可以创建自己的键盘布局并对其进行扩展,除非你有特定的要求需要从安全角度考虑,比如 password/PIN 输入字段。
我在所有智能手机上使用相同的 EditText。都是api26+.
<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:digits="0123456789,"
android:gravity="center"
android:inputType="number"
android:letterSpacing="0.2"
android:maxLength="9"
android:maxLines="1"
android:focusableInTouchMode="true"
android:imeOptions="actionDone"
android:textSize="@dimen/default_text"
android:textStyle="bold|italic"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
但在某些智能手机上键盘显示方式不同。在 EditText 中,我允许用户编写 [0123456789,] 符号。但是正如您在其中一个键盘中看到的那样,我不允许输入逗号。如何为所有设备使用一种类型的键盘?如果我指定输入类型,它们显示不同的原因是什么?
不同 Android phone 制造定制 android OS 根据他们的需要,可以修改键盘布局以显示不同。即使您可以拥有可以提供不同键盘的应用程序 UI。如果您提到 android:inputType="number" 并且即使键盘布局显示点 (.) 或逗号 (,) 它也不会接受相同的。为什么你会接受只接受数字的字段的逗号(,)?如果你想要十进制数,那么使用 android:inputType="numberDecimal"。如果你想在所有 smartphones 上使用通用布局,那么你可以创建自己的键盘布局并对其进行扩展,除非你有特定的要求需要从安全角度考虑,比如 password/PIN 输入字段。