添加 phone 数字时,我可以让 Android 隐藏键盘上的 "N"、"Wait" 和 "Pause" 键吗?
Can I make Android hide the "N", "Wait" and "Pause" keys from the keyboard when adding a phone number?
添加 phone 数字字段时,我写了以下内容 XML:
<EditText
android:id="@+id/etPhoneNumber"
style="@style/my_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="@string/cdu_phone_number_hint"
android:inputType="phone"
android:autofillHints="phone"
android:digits="+0123456789"
android:textColor="@color/black"
android:visibility="visible" />
但是,即使我指定了 digits
,Android 仍然会显示“等待”、“暂停”等按钮。有什么办法可以不显示这些按钮吗?
键盘是一个单独的应用程序,可以自行决定显示哪些键。您对其唯一的控制是 inputType,它作为您想要的键盘提示。显然,无论您使用的是什么键盘,都希望显示这些键。你无法阻止它。您可以尝试将输入类型更改为数字,看看您是否喜欢这样。但请记住,无论您做什么,它都会在不同的设备上以不同的方式显示,因为它们会使用不同的键盘应用程序(每个设备上都没有单一的键盘,只有一些比其他设备更常见 - 用户总是可以决定也可以自己安装)。
您需要使用 InputMethodManager class
InputMethodManager
/**
* Input method manager
* 输入法显示和隐藏
* @param show
*/
fun inputMethodManager(show:Boolean){
val imm: InputMethodManager = requireActivity().getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
if (show){
//show
binding.mainFrBehaviorAddWord.mainFrBehaviorEd.requestFocus()
binding.mainFrBehaviorAddWord.mainFrBehaviorEd.isFocusableInTouchMode = true
imm.showSoftInput(EditText, InputMethodManager.RESULT_UNCHANGED_SHOWN)
}else{//hide
imm.hideSoftInputFromWindow(EditText.windowToken, 0)
}
}
添加 phone 数字字段时,我写了以下内容 XML:
<EditText
android:id="@+id/etPhoneNumber"
style="@style/my_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="@string/cdu_phone_number_hint"
android:inputType="phone"
android:autofillHints="phone"
android:digits="+0123456789"
android:textColor="@color/black"
android:visibility="visible" />
但是,即使我指定了 digits
,Android 仍然会显示“等待”、“暂停”等按钮。有什么办法可以不显示这些按钮吗?
键盘是一个单独的应用程序,可以自行决定显示哪些键。您对其唯一的控制是 inputType,它作为您想要的键盘提示。显然,无论您使用的是什么键盘,都希望显示这些键。你无法阻止它。您可以尝试将输入类型更改为数字,看看您是否喜欢这样。但请记住,无论您做什么,它都会在不同的设备上以不同的方式显示,因为它们会使用不同的键盘应用程序(每个设备上都没有单一的键盘,只有一些比其他设备更常见 - 用户总是可以决定也可以自己安装)。
您需要使用 InputMethodManager class InputMethodManager
/**
* Input method manager
* 输入法显示和隐藏
* @param show
*/
fun inputMethodManager(show:Boolean){
val imm: InputMethodManager = requireActivity().getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
if (show){
//show
binding.mainFrBehaviorAddWord.mainFrBehaviorEd.requestFocus()
binding.mainFrBehaviorAddWord.mainFrBehaviorEd.isFocusableInTouchMode = true
imm.showSoftInput(EditText, InputMethodManager.RESULT_UNCHANGED_SHOWN)
}else{//hide
imm.hideSoftInputFromWindow(EditText.windowToken, 0)
}
}