我的布局中有一个EditText和一个Button.
在编辑字段中写入并单击后Button,我想隐藏虚拟键盘.我假设这是一段简单的代码,但我在哪里可以找到它的一个例子?
android soft-keyboard android-layout android-softkeyboard android-input-method
我有一个带有一些EditText字段和一些按钮的Activity,以方便通常用于填充这些字段的内容.但是,当我们用户触摸其中一个EditText字段时,会自动显示Android软键盘.我希望它默认保持隐藏状态,除非用户长按菜单按钮.我已经找到了解决方案,并找到了几个答案,但到目前为止我无法让它们工作.
我尝试过以下方法:
1 - 在onCreate方法中,
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
2 - 同样在onCreate方法中,
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
Run Code Online (Sandbox Code Playgroud)
3 - 和fIn清单文件,
<activity android:name=".activityName" android:windowSoftInputMode="stateAlwaysHidden"/>
Run Code Online (Sandbox Code Playgroud)
这些方法都不起作用.只要用户单击EditText字段,就会出现软键盘.如果用户通过长按菜单键明确显示软键盘,我只想显示软键盘.
为什么这不起作用?
嗨,我正在制作自定义拨号器,所以我创建了自己的输入板.
问题是如何禁用EditText 但仍然允许剪切/复制/粘贴?股票拨号器可以做到这一点.
我试过android:focusable="false"但它禁用剪切/复制(仍然可以粘贴).
我还试图以inputType编程方式禁用所有三个命令:
myEditText.setInputType(InputType.TYPE_NULL); //Can't cut/copy/paste
Run Code Online (Sandbox Code Playgroud)
从清单中禁用它也不起作用:
android:configChanges="orientation|keyboardHidden" //Keyboard still popped up
Run Code Online (Sandbox Code Playgroud)
有解决方案吗 谢谢
我已经到了这一点,这让我在那里,但并不完全.我有一个拨号器Fragment,其中包含所有常用Button的输入数字,包括退格键,因此我不需要软键盘.我还想让用户能够粘贴文本(长按...默认情况下工作正常),以及编辑已输入的内容,因此我需要光标.
我找到的最简单的方法是确保软键盘不会弹出,如果用户点击内部EditText是设置inputType为null - 但这也会杀死光标.
那么,我如何声明我EditText应该启动哪些命令以使我的EditText字段永远不会显示软键盘,无论用户尝试什么,但仍然保留粘贴功能和光标?
我也尝试android:windowSoftInputMode="stateAlwaysHidden"过我的清单,但无济于事.
我正在使用几个EditTexts 在Android上进行对话.onCreate()为了禁用软键盘,我把这一行放在了:
Keypad.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
问题是它只在对话框出现时无效.当我移动到下一个时EditText,键盘出现而不是下降.
有人知道如何解决这个问题吗?
android ×5