在Android开发中如何移除EditText上的输入焦点

移动开发 Android
当我们创建一个带EditText 或 AutoCompleteTextView的视图时,在加载视图时总是会把输入的焦点自动移动到第一个输入框。如何改成最终效果呢?且看本文详解。

当我们创建一个带EditText 或 AutoCompleteTextView的视图时,在加载视图时总是会把输入的焦点自动移动到***个输入框。如下图所示:

带EditText 或 AutoCompleteTextView的视图

下面是mail.xml布局文件:

  1. <!--?xml version="1.0" encoding="utf-8"?--> 
  2. <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> 
  3.         <button android:id="@+id/Button01" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/button_text"> 
  4.         </button> 
  5.         <edittext android:hint="@string/hint" android:id="@+id/EditText01" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text=""> 
  6.         </edittext> 
  7.         <button android:id="@+id/Button02" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/button_text"> 
  8.         </button> 
  9. </linearlayout> 
  10.  

我们如何才能把焦点从EditText上移除呢?最简单的方法是创建一个不可见的(invisible)LinearLayout,LinearLayout将会把焦点从EditText上移走。

我们修改mail.xml布局文件,在EditText之前增加一个LinearLayout ,如下所示:

  1. <!--?xml version="1.0" encoding="utf-8"?--> 
  2. <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> 
  3.         <button android:id="@+id/Button01" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/button_text"> 
  4.         </button> 
  5. <linearlayout android:focusable="true" android:focusableintouchmode="true" android:layout_height="0px" android:layout_width="0px"> 
  6.         <edittext android:hint="@string/hint" android:id="@+id/EditText01" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text=""> 
  7.         </edittext> 
  8.         <button android:id="@+id/Button02" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/button_text"> 
  9.         </button> 
  10. </linearlayout> 
  11. </linearlayout> 

最终效果如下所示:

最终效果

不需要任何代码就把焦点移除了,是不是最简单的解决方案?

希望本文对您有所帮助!

【编辑推荐】

  1. Windows Phone 7 免费线下培训火热报名中
  2. 在Android开发中调用Rest web服务
  3. 详解谷歌官方教程 Android R5 NDK下载及安装
  4. 详解谷歌官方教程 Android插件ADT 9.0.0
  5. Android那些事儿 Android手机交互特性
责任编辑:佚名 来源: ideasandroid
相关推荐

2013-07-16 14:47:18

Android EdiEditText不弹出Android开发

2013-06-27 17:26:01

AndroidEditText

2021-11-29 14:26:53

FreeDOSLinux

2010-12-13 14:41:44

Android 2.3MyEclipse

2019-10-23 14:34:15

KotlinAndroid协程

2011-02-25 15:49:09

NecessitasQtAndroid

2019-09-24 19:00:41

Linuxrm命令unlink命令

2023-11-01 11:34:21

ContextAndroid

2011-06-15 18:38:17

Linux Qt Symbian

2017-12-28 14:51:01

AndroidView焦点

2024-01-30 08:56:55

性能监控性能管理工具内存存储

2015-10-14 10:02:33

ClojureScri Android

2017-08-15 19:20:51

AndroidHttpServer

2016-12-12 09:58:47

AndroidAndroid Vie

2011-02-22 10:56:57

Restweb服务Android

2012-02-28 10:33:27

Eclipse 3.7Android环境

2011-08-29 14:40:04

UbuntuAndroid

2010-08-31 09:39:37

2019-02-28 09:30:04

Ubuntusudo命令

2015-12-08 13:25:39

点赞
收藏

51CTO技术栈公众号