android – 如何在EditText获得焦点时自动显示软键盘

前端之家收集整理的这篇文章主要介绍了android – 如何在EditText获得焦点时自动显示软键盘前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我的EditText获得焦点时,我想显示键盘.我尝试了很多方法,但没有任何帮助.
我试过了:
1.
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText,InputMethodManager.SHOW_IMPLICIT);

不同的旗帜.

.2.getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

>< requestFocus />

4.

editText.setOnFocusChangeListener(new OnFocusChangeListener() {
                @Override
                public void onFocusChange(View v,boolean hasFocus) {
                    editText.post(new Runnable() {
                        @Override
                        public void run() {
                            InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                            imm.showSoftInput(editText,InputMethodManager.SHOW_IMPLICIT);
                        }
                    });
                }
            });
            editText.requestFocus();

4方法是fork但它解决不好.因此它写在这里Show soft keyboard automatically when EditText receives focus

之前,我使用方法2并且它有效.但现在不再.我创建了一个空白项目,它不起作用,没有一个方法

更新:

<style name="Theme.TransparencyDemo" parent="android:Theme.Light.NoTitleBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>

解决方法

您还可以为活动添加标记,这将自动显示键盘
<activity name="package.ActivityName" android:windowSoftInputMode="stateVisible"/>

如果您希望在活动启动时应用焦点,这将非常有用

你也可以在片段中使用:

InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);

或在活动中

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);

猜你在找的Android相关文章