在拥有很多控件的组件中,往往都有默认的焦点,比如一个Layout的中有EditText,当布局加载显示是默认的焦点始终在EditText上,但是我们不希望别的控件焦点受影响,那么这种情况下,需要将焦点设置到父控件上就可以了。以下是移除默认焦点的实现方法:
<?xml version="1.0" encoding="utf-8"?>
<linearlayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text" >
</button>
<linearlayout
android:layout_width="0px"
android:layout_height="0px"
android:focusable="true"
android:focusableintouchmode="true" >
<edittext
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/hint"
android:text="" >
</edittext>
<button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text" >
</button>
</linearlayout>
</linearlayout>
本文介绍了一种在Android布局中去除默认焦点的方法,通过设置一个不可见的LinearLayout为焦点,避免了EditText等控件自动获取焦点的问题。
3362

被折叠的 条评论
为什么被折叠?



