线性布局不会填满整个屏幕
Posted
技术标签:
【中文标题】线性布局不会填满整个屏幕【英文标题】:Linear Layout does not fill the whole screen 【发布时间】:2017-01-25 03:28:09 【问题描述】:为什么线性布局没有填满整个屏幕? 如您所见,我在线性布局中使用匹配父级。 如果我删除滚动条没有任何改变。该按钮不在屏幕底部。 main_activity.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_
android:layout_
android:background="@color/black"
tools:context="com.sarahp.demo.MainActivity">
<ScrollView
android:layout_
android:layout_>
<LinearLayout ----------> HERE
android:layout_
android:layout_
android:orientation="vertical">
<TextView
android:id="@+id/textview_demo"
android:layout_
android:layout_
android:layout_gravity="center"
android:layout_marginBottom="32dp"
android:layout_marginTop="32dp"
android:text="@string/demo"
android:textSize="42dp"/>
<RelativeLayout
android:id="@+id/fragment_container_a"
android:layout_
android:layout_/>
<RelativeLayout
android:id="@+id/fragment_container_b"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:background="@color/transparent"/>
</LinearLayout>
</ScrollView>
</RelativeLayout>
F A 是片段部分。
【问题讨论】:
尝试给fragment_container_a,height = 0 and weight = 1 底部还有空格 你想要怎样的布局? 【参考方案1】:将
android:fillViewport="true"
分配给您的 ScrollView。
您的 xml 将如下所示。 Main_Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<ScrollView
android:layout_
android:layout_
android:fillViewport="true">
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical">
<TextView
android:layout_
android:layout_
android:text="Test Demo"
android:textStyle="bold"
android:gravity="center"/>
<RelativeLayout
android:id="@+id/fragment1"
android:layout_
android:layout_
android:layout_weight="0.5"
android:background="@drawable/border_image">
<TextView
android:layout_
android:layout_
android:gravity="center"
android:text="Test text Fragement1" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/fragment2"
android:layout_
android:layout_
android:layout_weight="0.5"
>
<TextView
android:layout_
android:layout_
android:gravity="center"
android:text="Test text Fragement2" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
【讨论】:
【参考方案2】:移除相关布局
<ScrollView
android:layout_
android:layout_>
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical">
<TextView
android:id="@+id/textview_demo"
android:layout_
android:layout_
android:layout_gravity="center"
android:layout_marginBottom="32dp"
android:layout_marginTop="32dp"
android:text="@string/demo"
android:textSize="42dp"/>
<RelativeLayout
android:id="@+id/fragment_container_a"
android:layout_
android:layout_/>
<RelativeLayout
android:id="@+id/fragment_container_b"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:background="@color/transparent"/>
</LinearLayout>
</ScrollView>
【讨论】:
以上是关于线性布局不会填满整个屏幕的主要内容,如果未能解决你的问题,请参考以下文章
如何让div填满整个屏幕(Masonry / Pinterest)布局