• 在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>

      最终效果如下所示:

    最终效果

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

      希望本文对您有所帮助!

  • 相关阅读:
    NLB网路负载均衡管理器详解
    Nginx配置详解
    Nginx代理功能与负载均衡详解
    .Net使用RabbitMQ详解
    说说面向服务的体系架构SOA
    .Net中的RealProxy实现AOP
    搭建自己的Nuget服务器
    VMware虚拟网络连接模式详解(NAT,Bridged,Host-only)
    JsonUtils
    Linux三剑客
  • 原文地址:https://www.cnblogs.com/waw/p/2164477.html
Copyright © 2020-2023  润新知