【Android】解决软键盘遮挡登陆按钮

在应用登陆页面我们需要填写用户名和密码。当填写这些信息的时候,软键盘会遮挡登陆按钮,这使得用户体验较差,所以今天就来解决这个问题

1:登陆布局界面如下

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=""android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/login_bg" ><LinearLayoutandroid:id="@+id/ll_center"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical" ><ScrollViewandroid:id="@+id/sl_center"android:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1"android:fadingEdge="none"android:scrollbars="none" ><RelativeLayoutandroid:id="@+id/rl_center"android:layout_width="fill_parent"android:layout_height="wrap_content" ><LinearLayoutandroid:id="@+id/sms_login_ll_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_marginTop="90dip"android:orientation="horizontal" ><ImageViewandroid:id="@+id/sms_login_iv_icon"android:layout_width="70dip"android:layout_height="70dip"android:layout_gravity="center_vertical"android:src="@drawable/login_top_icon" /><ImageViewandroid:id="@+id/sms_login_iv_big_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_marginLeft="15dip"android:src="@drawable/sms_login_icon_big" /></LinearLayout><ImageViewandroid:id="@+id/sms_login_iv_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/sms_login_ll_title"android:layout_centerHorizontal="true"android:layout_marginTop="28dip"android:background="@drawable/sms_login_icon_small" /><RelativeLayoutandroid:id="@+id/sms_login_rl_input_name"android:layout_width="fill_parent"android:layout_height="43dip"android:layout_below="@id/sms_login_iv_name"android:layout_centerHorizontal="true"android:layout_marginLeft="40dip"android:layout_marginRight="40dip"android:layout_marginTop="40dip"android:background="@drawable/login_top_input" ><ImageViewandroid:id="@+id/sms_login_iv_input_name_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_marginLeft="10dip"android:layout_marginRight="10dip"android:background="@drawable/login_input_icon_user" /><FrameLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toRightOf="@id/sms_login_iv_input_name_icon" ><EditTextandroid:id="@+id/sms_login_et_accout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/transparent_white"android:digits="@string/sms_login_accout_text"android:hint="请输入账号"android:singleLine="true"android:text=""android:textSize="20sp" /></FrameLayout></RelativeLayout><RelativeLayoutandroid:id="@+id/sms_login_rl_input_pass"android:layout_width="fill_parent"android:layout_height="43dip"android:layout_below="@id/sms_login_rl_input_name"android:layout_centerHorizontal="true"android:layout_marginLeft="40dip"android:layout_marginRight="40dip"android:background="@drawable/login_top_input" ><ImageViewandroid:id="@+id/sms_login_iv_input_pass_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_marginLeft="10dip"android:layout_marginRight="10dip"android:background="@drawable/login_input_icon_pwd" /><FrameLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toRightOf="@id/sms_login_iv_input_pass_icon" ><EditTextandroid:id="@+id/sms_login_et_password"android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/transparent_white"android:digits="@string/sms_et_change_password_old_text"android:hint="请输入密码"android:inputType="textPassword"android:singleLine="true"android:text=""android:textSize="20sp" /></FrameLayout></RelativeLayout></RelativeLayout></ScrollView><Buttonandroid:id="@+id/sms_login_bt_confirm"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/sms_login_rl_input_pass"android:layout_centerHorizontal="true"android:layout_marginLeft="40dip"android:layout_marginRight="40dip"android:layout_marginTop="16dip"android:background="@drawable/sms_update_pass_bg_selector"android:text="登 录"android:textColor="@color/white"android:textSize="20sp" /></LinearLayout> </RelativeLayout>需要注意的是:

1:层级关系

RelativeLayout—–

LinearLayout—-

ScrollView,

Button

2:在AndroidManifest.xml中的该activity配置android:windowSoftInputMode="stateHidden|adjustResize"

3:看如下代码

走马观花之外,这才是深入体验,探索自我的最佳时间,

【Android】解决软键盘遮挡登陆按钮

相关文章:

你感兴趣的文章:

标签云: