在页面的开发过程中,我们可能会遇到这样的情况,打开某个页面(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"
通过这种方式,便可以很轻松的避免软键盘的弹出了