登录界面

在android studio中,默认生成的登录界面是这样的:

登录界面_第1张图片

当然,单就登录来说,该界面已足够简单明了。

但是,有时可能需要传统点的,让登录按钮等保持垂直方向上的居中:

登录界面_第2张图片

利用layout_height可以很方便地实现这一点:

<?xmlversion="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<LinearLayout android:id="topSpace"
    android:layout_width="0dp"
    android:layout_height="0dp" android:layout_weight="1"></LinearLayout>

    <LinearLayout android:id="user" android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView android:text="@string/user"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <EditText
            android:layout_width="0dp" android:layout_weight="1"
            android:layout_height="wrap_content" />
        </LinearLayout>
    <LinearLayout android:id="password" android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView android:text="@string/password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <EditText
            android:layout_width="0dp" android:layout_weight="1"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout android:id="login" android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <Button android:text="@string/login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout android:id="bottomSpace"
        android:layout_width="0dp"
        android:layout_height="0dp" android:layout_weight="1"></LinearLayout>
    <!--
    主LinearLayout是vertical的,所有的子Layout按垂直顺序依次排列;
    其中topSpace和bottomSpace设置了layout_weight,都为1(具体数值无所谓,只要二者相等即可),这样它们就可以平分屏幕垂直方向上的剩余空间;
    于是达到了让topSpace和bottomSpace之间的内在屏幕中容垂直居中的目的
    -->
</LinearLayout>

你可能感兴趣的:(登录界面)