Android 如何让EditText不自动获取焦点

在项目中,一进入一个页面, EditText默认就会自动获取焦点。

那么如何取消这个默认行为呢?

在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为

解决之道:在EditText的父级控件中找一个,设置成

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

这样,就把EditText默认的行为截断了!

<LinearLayout 
        style="@style/FillWrapWidgetStyle"
        android:orientation="vertical"
        android:background="@color/black"
        android:gravity="center_horizontal"
        
        android:focusable="true"  
        android:focusableInTouchMode="true"
        >
        <ImageView
            android:id="@+id/logo"
            style="@style/WrapContentWidgetStyle"
            android:background="@drawable/dream_dictionary_logo"
          />
        <RelativeLayout 
            style="@style/FillWrapWidgetStyle"
            android:background="@drawable/searchbar_bg"
            android:gravity="center_vertical"
            >
            <EditText
                android:id="@+id/searchEditText"
               style="@style/WrapContentWidgetStyle"
               android:background="@null"
               android:hint="Search"
               android:layout_marginLeft="40dp"
               android:singleLine="true"
             />
            
        </RelativeLayout>
        
    </LinearLayout>

来自:http://blog.csdn.net/a19860903/article/details/8546329   灰常感谢这位同学。。。

还有一个方法也可以非常简单的实现这个功能:

EditText对象的clearFocus();

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(editMsgView.getWindowToken(), 0);(关闭软键盘。。。)

时间: 2024-07-31 17:48:18

Android 如何让EditText不自动获取焦点的相关文章

Android 如何让EditText不自动获取焦点 (转)

在项目中,一进入一个页面, EditText默认就会自动获取焦点. 那么如何取消这个默认行为呢? 在网上找了好久,有点 监听软键盘事件,有点 调用 clearFouse()方法,但是测试了都没有! xml中也找不到相应的属性可以关闭这个默认行为 解决之道:在EditText的父级控件中找一个,设置成 Android:focusable="true" android:focusableInTouchMode="true" 这样,就把EditText默认的行为截断了!

Android:让EditText不自动获取焦点

解决方法: 在EditText的父级控件中加入属性: android:focusable="true" android:focusableInTouchMode="true" 把EditText默认的行为截断

让EditText不能自动获取焦点

在activity中放置了1个或1个以上的EditText,进入该activity的时候第一个EditText会接收焦点,我希望里面所有的EditText默认是不接收焦点的,该怎么做呢? 方法: 在第一个EditText前面添加一个LinearLayout,并且一定要请求获得焦点,否则无效.网上很多都说到要添加一个LinearLayout,但是没有强调要使用 <requestFocus />这句,发现不使用这句其实是没有效果的. <LinearLayout         android

如何让EditText不能自动获取焦点(转)

转载地址:http://blog.csdn.net/subaohao/article/details/9043895 在activity中放置了1个或1个以上的EditText,进入该activity的时候第一个EditText会接收焦点,我希望里面所有的EditText默认是不接收焦点的,该怎么做呢?方法:在第一个EditText前面添加一个LinearLayout,并且一定要请求获得焦点,否则无效.网上很多都说到要添加一个LinearLayout,但是没有强调要使用<requestFocus

设置Android让EditText不自动获取焦点

最近在做一个练手项目的时候,因为默认进入的页面有一个EditText控件,每次进入的时候会自动回去焦点弹出软键盘,体验非常不好,后来在网上找到了解决办法:在EditText的父级控件中找一个,设置成 android:focusable="true"      android:focusableInTouchMode="true" 这样,就把EditText默认的行为截断了! 1 <LinearLayout 2 android:id="@+id/ly_

Android Edittext 显示光标 获取焦点 监听焦点

Edittext java 代码控制获取焦点 EditText mEditText = (EditText) findViewById(R.id.et); mEditText.setFocusable(true); mEditText.setFocusableInTouchMode(true); 显示光标 mEditText.requestFocus();//获取焦点 光标出现 监听EditText焦点变化 当获取焦点后 hasFocus 为true mEditText.setOnFocusCh

关于android中EditText自动获取焦点并弹出键盘的相关设置

在android开发中,关于EditText自动获取焦点弹出键盘,我们可能又是会有让键盘自动弹出的需求,有时可能又会有不想让键盘自动弹出的需求,下面是我所总结的两种方法: 需求:EditText自动获取焦点并弹出键盘,代码: EditText.setFocusable(true); EditText.setFocusableInTouchMode(true); EditText.requestFocus(); 需求:EditText不会自动获取焦点并且不会弹出键盘,代码:  将其父控件设置: P

Android开发之EditText属性详解

1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以"."形式显示文本 (2)在代码里设置: 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//设

EditText 默认不获取焦点,弹出软键盘布局变形解决方案

关于弹出软键盘布局变形解决方案: 在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan" 在实际开发中,有的页面用到Edittext控件,这时候进入该页面可能会自动弹出输入法 这么显示不太友好,所以需要设置一下让Edittext默认不自动获取焦点.在网上查资料解决办法如下: 在EditText的父级控件中找一个,设置成 android:focusable="true"