如何在其父亲RelativeLayout的中心设置LinearLayout?

时间:2016-05-25 04:36:32

标签: android android-layout

在我的登录页面中,我有两个LinearLayouts。第二个线性布局我想设置在它的父相对布局的中心,另一个线性布局我想要设置它的父亲相对布局的左上角。

我怎样才能做到这一点?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rootLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/yellow">

    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="false">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:gravity="top"
                android:layout_alignParentLeft="true"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/user_name_text_view_id"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="left"
                    android:text="@string/language_title"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/redcolor" />

                <Spinner
                    android:id="@+id/spinnerList"
                    style="@style/spinner_style"
                    android:layout_width="85dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="3dp" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:orientation="vertical">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="40dp"
                    android:orientation="vertical">

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                        <ImageView
                            android:id="@+id/imageView1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="25dp"
                            android:src="@drawable/ic_serba_logo_red" />

                    </RelativeLayout>

                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:orientation="vertical">

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                        <LinearLayout
                            android:id="@+id/textmain"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:layout_centerVertical="true"
                            android:layout_margin="10dp"
                            android:orientation="vertical">

                            <EditText
                                android:id="@+id/editText1"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_margin="10dp"
                                android:background="@drawable/bordertextbox"
                                android:ems="10"
                                android:hint="@string/username_title"
                                android:inputType="textEmailAddress"
                                android:padding="8dp"
                                android:textColor="@android:color/white"
                                android:textColorHint="@android:color/white">

                                <requestFocus />

                            </EditText>

                            <EditText
                                android:id="@+id/editText2"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_marginBottom="10dp"
                                android:layout_marginLeft="10dp"
                                android:layout_marginRight="10dp"
                                android:layout_marginTop="7dp"
                                android:background="@drawable/bordertextbox"
                                android:ems="10"
                                android:hint="@string/password_title"
                                android:inputType="textPassword"
                                android:padding="8dp"
                                android:textColor="@android:color/white"
                                android:textColorHint="@android:color/white" />

                            <LinearLayout
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_margin="10dp"
                                android:weightSum="2">

                                <Button
                                    android:id="@+id/registerButton"
                                    android:layout_width="match_parent"
                                    android:layout_height="40dp"
                                    android:layout_marginRight="7dp"
                                    android:layout_weight="1"
                                    android:background="@color/splahbgcolor"
                                    android:text="@string/user_register_title"
                                    android:textColor="@android:color/white" />

                                <Button
                                    android:id="@+id/loginButton"
                                    android:layout_width="match_parent"
                                    android:layout_height="40dp"
                                    android:layout_marginLeft="7dp"
                                    android:layout_weight="1"
                                    android:background="@color/splahbgcolor"
                                    android:text="@string/user_login__title"
                                    android:textColor="@android:color/white" />
                            </LinearLayout>

                        </LinearLayout>

                    </RelativeLayout>

                </LinearLayout>

            </LinearLayout>

        </RelativeLayout>

    </ScrollView>

</RelativeLayout>

3 个答案:

答案 0 :(得分:1)

你只需改变两件事:

android:fillViewport="true" //for scrollView

并且RelativeLayout身高应为match_parent

android:layout_height="match_parent"

答案 1 :(得分:0)

当LinearLayout的父级为“相对布局”时,使用android:layout_centerInParent =“true”

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rootLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/yellow">

    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="false">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:gravity="top"
                android:layout_alignParentLeft="true"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/user_name_text_view_id"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="left"
                    android:text="@string/language_title"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="@color/redcolor" />

                <Spinner
                    android:id="@+id/spinnerList"
                    style="@style/spinner_style"
                    android:layout_width="85dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="3dp" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:orientation="vertical">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="40dp"
                    android:orientation="vertical">

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                        <ImageView
                            android:id="@+id/imageView1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:layout_marginTop="25dp"
                            android:src="@drawable/ic_serba_logo_red" />

                    </RelativeLayout>

                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:orientation="vertical">

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                        <LinearLayout
                            android:id="@+id/textmain"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:layout_centerVertical="true"
                            android:layout_margin="10dp"
                            android:orientation="vertical">

                            <EditText
                                android:id="@+id/editText1"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_margin="10dp"
                                android:background="@drawable/bordertextbox"
                                android:ems="10"
                                android:hint="@string/username_title"
                                android:inputType="textEmailAddress"
                                android:padding="8dp"
                                android:textColor="@android:color/white"
                                android:textColorHint="@android:color/white">

                                <requestFocus />

                            </EditText>

                            <EditText
                                android:id="@+id/editText2"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_marginBottom="10dp"
                                android:layout_marginLeft="10dp"
                                android:layout_marginRight="10dp"
                                android:layout_marginTop="7dp"
                                android:background="@drawable/bordertextbox"
                                android:ems="10"
                                android:hint="@string/password_title"
                                android:inputType="textPassword"
                                android:padding="8dp"
                                android:textColor="@android:color/white"
                                android:textColorHint="@android:color/white" />

                            <LinearLayout
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_margin="10dp"
                                android:weightSum="2">

                                <Button
                                    android:id="@+id/registerButton"
                                    android:layout_width="match_parent"
                                    android:layout_height="40dp"
                                    android:layout_marginRight="7dp"
                                    android:layout_weight="1"
                                    android:background="@color/splahbgcolor"
                                    android:text="@string/user_register_title"
                                    android:textColor="@android:color/white" />

                                <Button
                                    android:id="@+id/loginButton"
                                    android:layout_width="match_parent"
                                    android:layout_height="40dp"
                                    android:layout_marginLeft="7dp"
                                    android:layout_weight="1"
                                    android:background="@color/splahbgcolor"
                                    android:text="@string/user_login__title"
                                    android:textColor="@android:color/white" />
                            </LinearLayout>

                        </LinearLayout>

                    </RelativeLayout>

                </LinearLayout>

            </LinearLayout>

        </RelativeLayout>

    </ScrollView>

</RelativeLayout>

答案 2 :(得分:0)

我已经更改了你的代码试试吧。我认为它的工作很好

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_light">

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:gravity="top"
            android:layout_alignParentLeft="true"
            android:orientation="vertical">

            <TextView
                android:id="@+id/user_name_text_view_id"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:text="title"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="@android:color/holo_red_dark" />

          <Spinner>
                android:id="@+id/spinnerList"
              style="@"
              android:layout_width="85dp"
              android:layout_height="wrap_content"
                android:layout_marginTop="3dp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="40dp"
                android:orientation="vertical">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerHorizontal="true"

                        android:src="@mipmap/ic_launcher" />

                </RelativeLayout>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="vertical">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <LinearLayout
                        android:id="@+id/textmain"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_centerHorizontal="true"
                        android:layout_centerVertical="true"
                        android:layout_margin="10dp"
                        android:orientation="vertical">

                        <EditText
                            android:id="@+id/editText1"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_margin="10dp"
                            android:background="@android:color/holo_blue_light"
                            android:ems="10"
                            android:hint="username"
                            android:inputType="textEmailAddress"
                            android:padding="8dp"
                            android:textColor="@android:color/white"
                            android:textColorHint="@android:color/white">

                            <requestFocus />

                        </EditText>

                        <EditText
                            android:id="@+id/editText2"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="10dp"
                            android:layout_marginLeft="10dp"
                            android:layout_marginRight="10dp"
                            android:layout_marginTop="7dp"
                            android:background="@android:color/holo_blue_light"
                            android:ems="10"
                            android:hint="password"
                            android:inputType="textPassword"
                            android:padding="8dp"
                            android:textColor="@android:color/white"
                            android:textColorHint="@android:color/white" />

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_margin="10dp"
                            android:weightSum="2">

                            <Button
                                android:id="@+id/registerButton"
                                android:layout_width="match_parent"
                                android:layout_height="40dp"
                                android:layout_marginRight="7dp"
                                android:layout_weight="1"
                                android:background="@color/BlueColor"
                                android:text="register"
                                android:textColor="@android:color/white" />

                            <Button
                                android:id="@+id/loginButton"
                                android:layout_width="match_parent"
                                android:layout_height="40dp"
                                android:layout_marginLeft="7dp"
                                android:layout_weight="1"
                                android:background="#1FFBBD"
                                android:text="Login"
                                android:textColor="@android:color/white" />
                        </LinearLayout>

                    </LinearLayout>

                </RelativeLayout>

            </LinearLayout>

        </LinearLayout>

    </RelativeLayout>

</ScrollView>