zoukankan      html  css  js  c++  java
  • 在Android开发中如何移除EditText上的输入焦点 狼人:

      当我们创建一个带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>

      最终效果如下所示:

    最终效果

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

      希望本文对您有所帮助!

  • 相关阅读:
    在Xcode5中修改整个项目名
    EFCore的事务和分布式事务的使用
    NET CORE API权限控制之JWT的创建和引用
    NET CORE引用log4net日志文件的应用
    NET CORE在Linux下部署并且用Nginx 做负载均衡(主要说明CentOS)
    Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包
    Laravel Packages
    Laravel artisan commands
    ExtJs xtype
    ExtJS Complex data binding
  • 原文地址:https://www.cnblogs.com/waw/p/2164477.html
Copyright © 2011-2022 走看看