我创建了一个虚拟View
,并用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>
答案 0 :(得分:0)
我认为您必须在第一个LinearLayout(包含带权重的视图的那个)中添加android:weightSum="1.0"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1.0"
android:orientation="vertical" >
答案 1 :(得分:0)
如果您使用LinearLayout
之类的内容作为父元素,并在其layout_weight
中使用child element
,则可能会得到所需的结果。但是,如果您将ScrollView
作为主要父级并在其layout_weight
中使用child element
属性,则可能无法证明这是一个好结果。 Bcs,ScrollView
是无穷无尽的,它只会在其子元素完成的地方结束。因此,显然如果您使用weight
内部Android
可能无法确定实际结束scroll
和行为不端的地方。
因此,请尝试将包含LinearLayout
(带有Got It文本)的TextView
保留在主布局的底部。移除LinearLayout
内的ScrollView
并将其粘贴到ScrollView
之外,以便在滚动时位于底部。
试试这个..
<?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>