zoukankan      html  css  js  c++  java
  • 让EditText不能自动获取焦点

    在activity中放置了1个或1个以上的EditText,进入该activity的时候第一个EditText会接收焦点,我希望里面所有的EditText默认是不接收焦点的,该怎么做呢?
    
    
    方法:
    在第一个EditText前面添加一个LinearLayout,并且一定要请求获得焦点,否则无效。网上很多都说到要添加一个LinearLayout,但是没有强调要使用
     <requestFocus />这句,发现不使用这句其实是没有效果的。
    <LinearLayout
            android:focusable="true" android:focusableInTouchMode="true"
            android:layout_width="0px" android:layout_height="0px">
            <requestFocus />
        </LinearLayout>
    然后,所有的EditText,里面都不要再使用<requestFocus />。
    
    
    也有人说,初始化后,调用
    EditText的clearFocus(),即:
       EditText textIn = (EditText)findViewById(R.id.TextInput);
        textIn.clearFocus();
        textIn.setSelected(false);
    试过,但没有效果。
    
    
    
    

    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>
  • 相关阅读:
    用css3实现一个带缺口的圆圈(图)
    markdown语法练习
    Android SDK + Appium 环境搭建
    Python + Robot Framework 环境搭建
    javascript动画效果之透明度
    javascript动画效果之匀速运动
    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍(转载)
    javascript焦点图自动播放
    js中的随机数
    javascript焦点图(根据图片下方的小框自动播放)
  • 原文地址:https://www.cnblogs.com/exmyth/p/5409079.html
Copyright © 2011-2022 走看看