为什么我的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>