【转】android中避免进入页面EditText自动弹出软键盘

转载自:android中避免进入页面EditText自动弹出软键盘


  1. 说明
    我们在开发项目的过程中,一定会有这样的需求,就是在刚进入有EditText的页面时,不让软键盘弹出,只有用户自己手动的去触摸EditText输入框时候才让软键盘自动弹出,这样做其实也是提高用户体验,让用户可以切身的体验到这样做的好处,那么接下来我们就来看下在代码中该如何实现这样的需求。
  2. 具体做法
    针对于这样的需求,有2种处理方式:
    2.1 第一种是在清单文件中对应的Activity中配置:

    //stateHidden: 隐藏软键盘
    //adjustPan: 保证控件不会因为输入法的弹出而发生变形
    
    <activity
        android:name=".activity.LoginActivity"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        android:windowSoftInputMode="stateHidden|adjustPan" />

    2.2 第二种是在onCreate()方法中写:

    //避免进入页面EdiText自动弹出软键盘
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

注意:
如果是采用第二种方式的话,建议将这句代码写到BaseActvity或者BaseFragment的基类中,有利于简化代码的书写。

发表评论