线性布局 android layout_height
Posted
技术标签:
【中文标题】线性布局 android layout_height【英文标题】:LinearLayout android layout_height 【发布时间】:2014-11-21 05:58:43 【问题描述】:帮助我处理 XML 布局。
我在活动上有三个LinearLayout,所有LinearLayout都有垂直位置(从上到下)
My LinearLayout positions
-
第一个 LinearLayout 有 android:layout_, android:layout_
第二个LinearLayout有android:layout_, android:layout_
第三个LinearLayout有android:layout_,android:layout_
但是当第二个 LinearLayout 设置为 fill_parent 时,它会填满全屏(从第一个 Layout 到屏幕底部),而第三个 LinearLayout 无法显示!
我需要如何填充第二个布局?
帮帮我
【问题讨论】:
不要使用 px 使用 dp 【参考方案1】:简单地使用这个。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MainLinear"
android:layout_
android:layout_
android:layout_margin="5dp"
android:background="#fbfbfb"
android:orientation="vertical" >
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal" />
<LinearLayout
android:layout_
android:layout_
android:layout_weight="0.9"
android:orientation="vertical" />
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal" />
</LinearLayout>
</LinearLayout>
【讨论】:
【参考方案2】:您可以根据需要使用相对布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_ >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout1"
android:layout_above="@+id/linearLayout2"
android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
【讨论】:
@Serjaru 如果对你有帮助,你能接受我的回答吗?【参考方案3】:诀窍是不要为此使用fill_parent
,而是使用0dp
,并使用android:layout_weight="1"
给它一个权重。这意味着它将占用所有可用的额外空间
【讨论】:
【参考方案4】:你必须给中间的线性布局赋予权重,这样它才能占据整个高度。
try this for middle linear layout,
<LinearLayout
android:layout_
android:layout_
android:layout_weight="1" >
</LinearLayout>
【讨论】:
【参考方案5】:如果将设置为中间布局,它会占用父视图的高度,因此第3个视图将不可见(超出屏幕)
1st layout : android:layout_, android:layout_
2nd layout : android:layout_, android:layout_, android:layout_weight="1"
3rd layout : android:layout_, android:layout_
您应该使用“dp”而不是“px”,以在不同的屏幕密度上获得相同的尺寸。
(“fill_parent”已弃用,您应该使用“match_parent”,它也是如此)
【讨论】:
以上是关于线性布局 android layout_height的主要内容,如果未能解决你的问题,请参考以下文章