2012-03-04 2 views
1

상단에 3 개의 레이아웃이있는 LinearLayout이 있습니다. (상단의 회색 막대가 3 개로 나뉘어져 있습니다.) 각각에는 버튼이 있습니다. 나는 그 순간에 버튼이 2 개 밖에 없다. LinearLayout이 다른 개체를 방해합니까?

은 그 안에 버튼이 상단 바 60dp 높은 모습 (오른쪽 상단에 다른 버튼을 상상)해야한다 무엇 :

enter image description here

그리고 그 아래있는 LinearLayout을 갖고 싶어 . 하지만 하나 추가하고 설정할 때

android:layout_marginTop="60dp" 

그냥 상단 그레이 바 아래에 설정하면 생각하면 중간 레이아웃을 이동합니다. 세 번째 레이아웃은 화면에서 완전히 벗어납니다.

enter image description here

그러나 나는 (MS 페인트 기술의 나의 부족에 대해 죄송합니다) 같이 할 :

그래서 같은

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> 

답변

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> 

다른 모든 레이아웃은 프레임 레이아웃 일 필요는 없습니다. 그냥 자리 표시 자로 사용하고 있습니다.

관련 문제