登录界面与Android软键盘显示、隐藏的交互设计
在我们的Android应用中最常与Android的软键盘打交道的要属登录界面了,下面是本人感觉比较好的几个登录界面如下
1,微信
2,糗百
以上两个都是弹出软键盘之后布局上没什么变化的,也就是巧用布局正好登录的按钮不被软键盘挡到,假如我们的UI是登录按钮被挡到的情况下我们该如何处理呢?
3,陌陌
这种交互我个人感觉是很良好的。
那么这块布局是怎么处理的呢?登录页面的布局如下
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/white" > <LinearLayout android:id="@+id/layout_header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:background="@drawable/bg_topbar" android:focusable="true" /> <LinearLayout android:id="@+id/layout_content" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/layout_header" android:orientation="vertical" > <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:scrollbars="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingLeft="10.0dip" android:paddingRight="10.0dip" android:paddingTop="15.0dip" > <EditText android:id="@+id/login_et_momoid" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="8.0dip" android:background="@drawable/edittext_default" android:inputType="text" android:singleLine="true" /> <EditText android:id="@+id/login_et_pwd" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="8.0dip" android:background="@drawable/edittext_default" android:imeOptions="actionDone" android:inputType="textPassword" android:singleLine="true" /> <TextView android:id="@+id/login_tv_forgotpassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:text="忘记密码?" android:textSize="16.0sp" /> </LinearLayout> </ScrollView> <RelativeLayout style="@style/Style_BottomBar" > <Button android:id="@+id/btn_back" style="@style/Style_Login_register_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:text="返回" /> <Button android:id="@+id/btn_ok" style="@style/Style_Login_register_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="登录" /> </RelativeLayout> </LinearLayout> <ImageView android:id="@+id/layout_shadow" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/layout_header" android:background="@drawable/bg_topbar_shadow" android:focusable="false" /> </RelativeLayout>