【问题标题】:EditText inputType for numbers in a tablet device, always showing extra keys平板设备中数字的 EditText inputType,总是显示额外的键
【发布时间】:2020-05-17 02:45:07
【问题描述】:

我正在为仅接受数字的平板设备设置 EditText,但数字左侧出现了一个带有数学运算符和额外选项的额外小键盘:

我的 EditText 是这样定义的:

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/text_container"
    android:id="@+id/edit_text"
    android:hint="123-4567890"
    android:digits="0123456789"
    android:inputType="number"
    android:layout_centerHorizontal="true"
    android:textSize="36sp"
    android:gravity="center_horizontal"
    android:maxLength="10"
    android:imeOptions="actionDone"
    >

</EditText>

如果我将 inputType 设置为“numberPassword”,我会得到我想要的结果:

在手机设备中运行应用程序,将 inputType 设置为“数字”,也会显示我想要的内容:

为什么在平板设备中显示多余的键盘部分?

我怎样才能让 EditText 在平板电脑中只显示数字,就像它使用电话设备一样,或者就像它使用“numberPassword”inputType 选项一样?

干杯!

【问题讨论】:

  • 这就是键盘的设计方式,如果您只想显示数字 AFAIK,您将不得不开发自己的键盘 :)
  • 请理解,Android 有数百种不同的输入法编辑器(软键盘)可供预装和用户安装。您在EditText 中所做的只是提供有关如何最好地展示键盘的提示。如何解释这些提示取决于键盘的开发者。

标签: android android-layout android-edittext android-textinputlayout


【解决方案1】:

为什么会在平板设备中显示多余的键盘部分?

因为它就是这样设计的。

如何让 EditText 在平板电脑中仅显示数字,

你不能。如果您需要特定的按键布局,则需要自己实现。

不过,你为什么还要打扰呢?用户可以拥有他想要的任何键盘,甚至是物理键盘,因此您应该始终过滤输入的内容。见https://developer.android.com/reference/android/text/InputFilter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 2011-07-01
    • 2011-10-13
    相关资源
    最近更新 更多