Android知识

android 自动弹出软件盘和不弹出设置

2016-09-13  本文已影响0人  joy_蓝蜘蛛

1、不弹出软件盘设置。

进入新 Activity界面,想阻止软键盘自动弹出,只要在 AndroidManifest.xml 中对应的Activity下设置

android:windowSoftInputMode="adjustUnspecified|stateHidden"

安卓手机不可以自动弹出软键盘
在开发Anroid的时候,当你打开一个界面的时候,屏幕的焦点会自动停留在第一个EditText中,Android的软键盘默认会自动弹出,用户第一眼连界面都没有看清楚,软键盘就弹出来了,这就影响到了用户体验,我们需要设置打开界面的时候,当EditText获取焦点的时候,不弹出软键盘,其实也很简单,代码如下// 默认软键盘不弹出

getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

在OnCreate()函数中,加上即可,
在包含EditView的ViewGroup中添加:

android:focusableInTouchMode="false"

2.弹出软件盘

//inputManager

private InputMethodManager inputManager = null;
inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
@Override
public void hideSoftKeyBoard() {
    InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm.isActive() && getActivity().getCurrentFocus() != null) {
        if (getActivity().getCurrentFocus().getWindowToken() != null) {
       imm.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }
  }
}

@Override
public void showSoftKeyBoard(final EditText editText) {
    postDelayed(new Runnable() {
        @Override
        public void run() {
            inputManager.showSoftInput(editText, 0);
        }
    }, 500);
}

3.参数详解:


上一篇下一篇

猜你喜欢

热点阅读