您的位置:首页 > 其它

让EditText不能自动获取焦点

2014-07-16 11:27 323 查看
在activity中放置了1个或1个以上的EditText,进入该activity的时候第一个EditText会接收焦点,我希望里面所有的EditText默认是不接收焦点的,该怎么做呢?


方法1:

在第一个EditText前面添加一个LinearLayout,并且一定要请求获得焦点,否则无效。网上很多都说到要添加一个LinearLayout,但是没有强调要使用
<requestFocus />这句,发现不使用这句其实是没有效果的。

<LinearLayout
        android:focusable="true" android:focusableInTouchMode="true"
        android:layout_width="0px" android:layout_height="0px">
        <requestFocus />
    </LinearLayout>


然后,所有的EditText,里面都不要再使用<requestFocus />。

方法2:

在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> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: