当跳转到带有EditText的界面后,App会自动弹出输入法,严重影响了用户体验。因此,我们有时候需要取消EditText的默认聚焦。

方法一:
在EditText的父控件中加上这两行代码:

android:focusable="true" android:focusableInTouchMode="true"

例如:

<?xml version="1.0" encoding="utf-8"?>//    

方法二:
使用代码使外层组件获取焦点,代码如下:

View.setFocusable(true);View.setFocusableInTouchMode(true);View.requestFocus();//有时需要添加,谨慎起见建议全部都加

示例:

布局文件:<?xml version="1.0" encoding="utf-8"?>    代码:LinearLayout ll = findViewById(R.id.ll);        ll.setFocusable(true);        ll.setFocusableInTouchMode(true);        ll.requestFocus();

方法三:
将该窗口下的输入法隐藏起来,代码如下(仅隐藏输入法,需要在setContentView()前调用):

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

示例:

protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        this.getWindow()                .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);        setContentView(R.layout.activity_method3);    }

方法四:
在AndroidManifest相应的Activity中添加如下代码(仅隐藏输入法):

android:configChanges="keyboardHidden|orientation"android:windowSoftInputMode="adjustResize|stateHidden"

示例:



源代码下载:Github下载链接

更多相关文章

  1. Android实现页面跳转的几种方式(转贴)
  2. Android(安卓)getDimensionPixelSize, 代码中设置字体大小,读xml
  3. 如何在Android(安卓)Studio使用Java8 Lambda表达式
  4. 在PC端进行android截屏的多种方法
  5. 理解WebKit和Chromium: 调试Android系统上的Chromium
  6. Android(安卓)中自定义控件和属性(attr.xml,declare-styleable,T
  7. Android(安卓)中自定义View的应用 (自绘TextView) ---- 转
  8. Android(安卓)- 文本框的输入法控制和默认焦点设置
  9. 使用SourceInsight查看android中的native方法

随机推荐

  1. android 吸顶效果+下拉刷新 CoordinatorL
  2. Android(安卓)API 中文 (51) ―― ZoomButt
  3. 第七次Android课堂笔记
  4. 使android:fillAfter="true"在xml中起作
  5. android adt安装成功后 eclipse菜单栏没
  6. Android基站定位——单基站定位(二)
  7. 迅雷快速下载 Android(安卓)SDK相关
  8. Android(安卓)WakeLock
  9. Android学习系列(33)--App应用之提交到各
  10. Android平台开发-Power management-电源