LinearLayout android layout_height

时间:2014-09-26 09:06:37

标签: android android-layout layout android-linearlayout fill-parent

帮助我进行XML布局。

我有关于活动的LinearLayout,所有LinearLayout都有垂直位置(从上到下)

My LinearLayout positions

  1. 第一个LinearLayout有 android:layout_height =" 30px",android:layout_width =" fill_parent"
  2. 第二个LinearLayout有 android:layout_height =" fill_parent",android:layout_width =" fill_parent"
  3. 第三个LinearLayout有 android:layout_height =" 30px",android:layout_width =" fill_parent"
  4. 但是当第二个LinearLayout设置为 fill_parent 时,它会全屏显示(从第一个布局到屏幕底部),第三个LinearLayout无法显示!

    我如何需要填充第二种布局?

    帮帮我

5 个答案:

答案 0 :(得分:1)

您可以将相对布局用于您的目的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:orientation="vertical" >
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:orientation="vertical" >
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/linearLayout1"
    android:layout_above="@+id/linearLayout2"
    android:orientation="vertical" >
</LinearLayout>

</RelativeLayout>

答案 1 :(得分:1)

简单地使用这个。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MainLinear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:background="#fbfbfb"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:orientation="horizontal" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.9"
    android:orientation="vertical" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:orientation="horizontal" />
</LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

诀窍是不要fill_parent使用0dp,而android:layout_weight="1"并使用{{1}}赋予权重。这意味着它将占用所有可用的额外空间

答案 3 :(得分:0)

你必须给中间线性布局赋予重量,这样它才能占据全高。

try this for middle linear layout,

   <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >
    </LinearLayout>

答案 4 :(得分:0)

如果设置height =&#34; fill_parent&#34;到中间布局,它将占用父视图的高度,因此第三个视图将不可见(在屏幕外)

1st layout : android:layout_height="30px", android:layout_width="match_parent"
2nd layout : android:layout_height="0dp", android:layout_width="match_parent", android:layout_weight="1"
3rd layout : android:layout_height="30px", android:layout_width="match_parent"

你应该使用&#34; dp&#34;而不是&#34; px&#34;,以在不同的屏幕密度上获得相同的大小。

(&#34; fill_parent&#34;已弃用,你应该使用&#34; match_parent&#34;,它也会这样做)