EditText焦点问题

  1. 禁止EditText自动获取焦点

在EditText的父布局中加入下面属性即可

 android:focusable="true"//是否可聚焦
 android:focusableInTouchMode="true"//是否是触摸方式获取焦点
  1. 解决有EditText的界面,软键盘和EditText焦点切换的问题
/**
 * 处理EditText焦点问题
 */
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        View v = getCurrentFocus();
        if (v instanceof EditText) {
            Rect outRect = new Rect();
            v.getGlobalVisibleRect(outRect);
            if (!outRect.contains((int) event.getRawX(), (int) event.getRawY())) {
                v.setFocusable(false);
                v.setFocusableInTouchMode(true);
                InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
            }
        }
    }
    return super.dispatchTouchEvent(event);
}
  1. 避免有两个EditText时,两个EditText互相争夺焦点的问题

解决方法:方法1和方法2共同使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在项目中碰到EditText的焦点问题,特此记录下,以便遇到相同问题的朋友参考。 问题:当EditText失去...
    会飞的大象阅读 19,390评论 4 45
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,244评论 25 709
  • 东野圭吾说得特别好:“人与人之间情断义绝,并不需要什么具体的理由。就算表面上有,也很可能只是心离开的结果,事后才编...
    王延菊阅读 929评论 0 0
  • 《钗头凤》勤奋 罗礼亮双韵 词林正韵 中华新韵 家贫困。先诚信,莫要任纵思...
    股帮仁罗阅读 4,489评论 6 18
  • 平凡之路与山丘 #第二十二期# 【每天一千字改变自己】专题播报 前言 我曾经跨过山和大海 也穿过人山人海 我曾经拥...
    陈素封阅读 4,064评论 3 1