在页面的开发过程中,我们可能会遇到这样的情况,打开某个页面(Activity)时,如果该页面中有EditText组建,则会自动弹出软键盘(因为该EditText自动获取焦点了),这样很容易影响用户体验; 所以,在设计页面时,我们有必要首先手动让该EditText失去焦点,这样,才可以避免软键盘弹出。

如何实现呢? 其实很简单,我们只需要让EditText的父容器获取焦点就可以了。

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:paddingBottom="2dp"
android:paddingTop="2dp" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:text="用户名:"
android:textColor="#4a4a4a"
android:textSize="14sp" /> <EditText
android:id="@+id/total_price_edit"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:gravity="right|center_vertical"
android:inputType="numberDecimal"
android:paddingRight="6dp"
android:textColor="#ff8400"
android:textSize="23sp" >
</EditText>
</RelativeLayout>

注:

上述代码中,我们手动设置EditText的父容器RelativeLayout获取焦点:

android:focusable="true"

android:focusableInTouchMode="true"

通过这种方式,便可以很轻松的避免软键盘的弹出了Android 隐藏EditText的焦点-LMLPHP

05-26 10:48