LinearLayout是否干扰了其他对象?

时间:2012-03-04 02:16:19

标签: android xml layout android-linearlayout android-xml

我有一个在顶部有3个布局的LinearLayout。 (所以顶部的灰色条分成3块)每个都有一个按钮。我现在只有2个按钮。

它应该是这样的(想象一下右上角的另一个按钮)带有按钮的顶部栏高60dp:

enter image description here

我希望在它下面有一个LinearLayout。但是当我添加一个并将其设置为

android:layout_marginTop="60dp"

认为它只会将自己置于顶部灰色条下方,它将中间布局移动。第三种布局一直在屏幕外。

像这样:

enter image description here

但我希望它看起来像这样(对不起我缺乏MS Paint技能):

enter image description here

那么如何设置它以使底部的LinearLayout不会干扰它上面的布局呢?

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:baselineAligned="true"
android:orientation="horizontal" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="120dp"
    android:layout_height="60dp"
    android:background="@drawable/topbar"
    android:orientation="vertical" >

    <ImageButton
        android:id="@+id/imageButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/camerabuttonmew"
        android:background="@null"
        android:layout_margin="5dp" />

</LinearLayout>



<LinearLayout
    android:id="@+id/LinearLayout02"
    android:layout_width="120dp"
    android:layout_height="60dp"
    android:background="@drawable/topbar"
    android:orientation="vertical" >


    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@null"
        android:src="@drawable/homebuttonnew"
        android:layout_margin="5dp" />

</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:background="@drawable/topbar" >
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout3"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_marginTop="60dp" >
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

您是否考虑使用相对布局以及顶部的图像和其下的LinearLayout。一个有用的教程,http://www.higherpass.com/Android/Tutorials/Exploring-Android-Linearlayout-And-Relativelayout/

答案 1 :(得分:0)

创建一个垂直线性布局,其中包含两个子布局,顶行按钮的另一个水平线性布局,以及按钮下区域所需的任何布局。现在你的外部布局是一个水平的线性布局,所以每次添加子视图/布局时,它都会推动所有内容。

  <LinearLayout
  android:id="@+id/outer_container"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
    <LinearLayout
        android:id="@+id/buttons"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    ...
    </LinearLayout>
    <FrameLayout
        android:id="@+id/everything_else"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    ...
    </FrameLayout>
 </LinearLayout>

其他所有布局都不需要是框架布局,我只是将它用作占位符。