为什么我的android:Layou-weight不起作用?

为什么我的android:Layou-weight不起作用?,android,android-layout,layout,Android,Android Layout,Layout,我已经创建了一个虚拟的视图,并用weight=1填充它 我想要所有额外的空间去看那个场景,但事实上这并没有发生 我错过了什么 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res/com.me

我已经创建了一个虚拟的
视图
,并用weight=1填充它

我想要所有额外的空间去看那个场景,但事实上这并没有发生

我错过了什么

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.me"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" 
        android:gravity="center_horizontal">

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

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

                <com.m.view.text.MyTextView
                    android:id="@+id/whyResgisterHeaderText"
                    style="@style/textOnBg"
                    android:layout_marginBottom="10dp"
                    android:layout_marginTop="30dp"
                    android:text="WHY REGISTER?"
                    android:textAllCaps="true"
                    android:textColor="@android:color/white"
                    app:font_type="varela" />

                <com.m.view.text.MyTextView
                    android:id="@+id/whyResgisterBodyText"
                    style="@style/textOnBg"
                    android:lineSpacingMultiplier="1.2"
                    android:text="first line\nsecond line\nthird line\nforth line"
                    android:textStyle="italic" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="20dp"
                    android:layout_marginTop="20dp"
                    android:src="@drawable/signup_illu_why" />

                <View
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1" />

                <LinearLayout
                    android:id="@+id/gotItAction"
                    android:layout_width="283dp"
                    android:layout_height="52dp"
                    android:layout_marginBottom="20dp"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/btn_selector"
                    android:clickable="true"
                    android:gravity="center"
                    android:orientation="horizontal">

                    <com.m.view.text.MyTextView
                        android:id="@+id/goItText"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="Got it"
                        android:textColor="#00bcfe"
                        android:textSize="16dp"
                        android:textStyle="italic" />
                </LinearLayout>
            </LinearLayout>
        </ScrollView>
    </RelativeLayout>

我认为您必须在第一个线性布局中添加
android:weightSum=“1.0”
(包含带有权重的视图的布局)


如果您使用类似
线性布局
的内容作为父元素,并在其
子元素
中使用
layou weight
,则可能会得到所需的结果。但是,如果您将
ScrollView
作为主要父元素,并在其
子元素之一中使用
layout\u-weight
属性,则结果可能不太理想。Bcs,
ScrollView
是无止境的,它将只在其子元素完成时结束。因此,显然,如果在
中使用
weight
属性,那么
Android
可能无法确定要在哪里结束
滚动,从而导致行为不端

因此,尝试将包含
TextView
(带有Got It text)的
线性布局保持在主布局的底部。删除
LinearLayout
内部
ScrollView
并将其粘贴到
ScrollView
外部,使其位于scroll视图的底部

试试这个

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.me"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

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

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

            <com.m.view.text.MyTextView
                android:id="@+id/whyResgisterHeaderText"
                android:layout_marginBottom="10dp"
                android:layout_marginTop="30dp"
                android:text="WHY REGISTER?"
                style="@style/textOnBg"
                android:textAllCaps="true" 
                android:textColor="@android:color/white"
                app:font_type="varela"/>

            <com.m.view.text.MyTextView
                android:id="@+id/whyResgisterBodyText"
                style="@style/textOnBg"
                android:lineSpacingMultiplier="1.2"
                android:text="first line\nsecond line\nthird line\nforth line"
                android:textStyle="italic" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dp"
                android:layout_marginTop="20dp"
                android:src="@drawable/signup_illu_why" />
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/gotItAction"
        android:layout_width="283dp"
        android:layout_height="52dp"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/btn_selector"
        android:clickable="true"
        android:gravity="center"
        android:orientation="horizontal" >

        <com.m.view.text.MyTextView
            android:id="@+id/goItText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="Got it"
            android:textColor="#00bcfe"
            android:textSize="16dp"
            android:textStyle="italic" />
    </LinearLayout>

</RelativeLayout>


过去确实是这样。我会尝试在相对布局中权重不起作用
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.me"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

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

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

            <com.m.view.text.MyTextView
                android:id="@+id/whyResgisterHeaderText"
                android:layout_marginBottom="10dp"
                android:layout_marginTop="30dp"
                android:text="WHY REGISTER?"
                style="@style/textOnBg"
                android:textAllCaps="true" 
                android:textColor="@android:color/white"
                app:font_type="varela"/>

            <com.m.view.text.MyTextView
                android:id="@+id/whyResgisterBodyText"
                style="@style/textOnBg"
                android:lineSpacingMultiplier="1.2"
                android:text="first line\nsecond line\nthird line\nforth line"
                android:textStyle="italic" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dp"
                android:layout_marginTop="20dp"
                android:src="@drawable/signup_illu_why" />
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/gotItAction"
        android:layout_width="283dp"
        android:layout_height="52dp"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/btn_selector"
        android:clickable="true"
        android:gravity="center"
        android:orientation="horizontal" >

        <com.m.view.text.MyTextView
            android:id="@+id/goItText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="Got it"
            android:textColor="#00bcfe"
            android:textSize="16dp"
            android:textStyle="italic" />
    </LinearLayout>

</RelativeLayout>