当屏幕出现时如何去除字段的自动对焦/键盘popup?
我有一个屏幕,第一个字段是EditText,它在启动时获得焦点,还popup数字inputtypes,这是非常烦人的
我怎样才能确保当活动开始时没有获得重点,和/或input面板没有提高?
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);
要么
在manifest文件中设置activity属性如下
android:windowSoftInputMode="stateHidden"
去你的应用程序清单文件,并写下你想要禁用自动键盘popup的活动的这一行。
android:windowSoftInputMode="stateHidden"
以编程方式不显示键盘,但默认小工具仍然接收焦点调用:
getWindow().setSoftInputMode(WindowManager. LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
在onResume()
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
在onCreate()中调用上面的方法,除非用户
tapping or clicking.
selectEditText ,否则阻止显示softKeyboardtapping or clicking.
或者只需在Manifest.xml
Activity标签中添加android:windowSoftInputMode="stateHidden"
有另一个视图抓住焦点。 默认情况下,当布局膨胀时,第一个可调焦视图将会获得焦点。 您可以通过XML请求关注不同的视图:
<TextView android:layout_width="wrap_parent" android:layout_height="wrap_content" android:text="Some other view"> <requestFocus /> </TextView>
这适用于任何视图。
如果你想以编程的方式做,你可以使用view.requestFocus()
。
这通常是一团糟。 我尝试的第一件事是尝试通过另一个视图偷取焦点。 您还必须拥有可调焦和可调焦的触摸模式。
<TextView ... android:focusable="true" android:focusableInTouchMode="true"> <requestFocus/> </TextView>
还没有尝试过,也不是我附近的编程计算机,但我怀疑编程发送焦点到父视图或某种性质可以做的伎俩 – 多数民众赞成更可能是一种解决方法,而不是一个解决方法,但又不能testing它只是一个想法
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED) { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); }