Android 隐藏EditText的焦点

在页面的开发过程中,我们可能会遇到这样的情况,打开某个页面(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"

通过这种方式,便可以很轻松的避免软键盘的弹出了微笑



原文地址:https://www.cnblogs.com/hehe520/p/6329989.html