微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EditText输入类型显示不同的键盘

如何解决EditText输入类型显示不同的键盘

我为所有智能手机使用相同的EditText。它们都是api 26 +。


        <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,]符号。但是,正如您在键盘之一中看到的那样,我不允许输入逗号。如何为所有设备配备一种类型的键盘?如果我指定inputType,它们显示不同的原因是什么?

keyboard1

keyboard2

解决方法

不同的Android手机制造商可以根据需要自定义android操作系统,可以修改键盘布局以显示不同的外观。即使您可以使用可以提供不同键盘UI的应用程序。如果您提到 android:inputType =“ number” ,即使键盘布局显示点(。)或逗号(,),它也不会接受。为什么只接受数字的字段会接受逗号(,)?如果要十进制数,请使用 android:inputType =“ numberDecimal” 。如果要在所有智能手机上使用通用布局,则可以创建自己的键盘布局并对其进行填充,除非您有需要从安全角度涵盖密码/ PIN输入字段等特定要求,否则我不建议您这样做。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。