2016-08-04 15 views
0

Ich habe folgende Layout-Struktur:Android: Wie lineares Layout in FrameLayout nach unten ausrichten?

enter image description here

Ich brauche, dass die zweite Linearlayout nach unten in Art und Weise auszurichten, wenn ein Teil sichtbar im Innern des zweiten Linearlayouts sichtbar wird, soll das zweite Layout der Größe verändert werden noch sichtbar sein.

Wie kann ich das bitte richtig machen?

Vielen Dank für jede Beratung.

+0

ist es notwendig, dass Sie 'FrameLayout' hier zu verwenden ??? – himanshu1496

+0

Ich denke ja, weil das untere Layout über dem ersten liegen sollte, weil man über den ersten LinearLayout hinaus expandieren kann, ohne den Bildschirm zu verkleinern. – redrom

+0

aber das können Sie auch mit 'RelativeLayout' erreichen. – himanshu1496

Antwort

1

Verwenden Attribut layout_gravity jede Ansicht in einem FrameLayout auszurichten

<LinearLayout ... 
android:layout_gravity:"bottom" 
/> 

Aber wenn Sie versuchen, es an der Unterseite von einem anderen Layout zu platzieren. Verwenden Sie dann stattdessen das relative Layout.

Beispiel

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

    <TextView 
     android:id="@+id/text" 
     android:layout_width="match_parent" 
     android:layout_height="52dp" 
     android:layout_alignParentTop="true" 
     android:background="@android:color/holo_red_dark" 
     android:gravity="center" 
     android:text="some text view" 
     android:textColor="#fff" 
     android:textStyle="bold"/> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@id/text" 
     android:background="#123123" 
     android:orientation="vertical"> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="52dp" 
      android:layout_alignParentTop="true" 
      android:background="@android:color/darker_gray" 
      android:gravity="center" 
      android:text="some text view at top inside " 
      android:textColor="#fff" 
      android:textStyle="bold"/> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="52dp" 
      android:layout_alignParentTop="true" 
      android:background="@android:color/holo_blue_bright" 
      android:gravity="center" 
      android:text="some text view at second position " 
      android:textColor="#fff" 
      android:textStyle="bold"/> 
    </LinearLayout> 

</RelativeLayout> 

result of above code

Für Ihre Frage "das zweite Layout sollte sein noch sichtbar Größe verändert werden."

Es ist besser, RelativeLayout zu verwenden. Angenommen, Ihr zweites LinearLayout befindet sich am unteren Rand des RelativeLayout. Wenn es keine untergeordnete Ansicht hat, ist es unsichtbar, wenn die Höhe auf wrap_content eingestellt ist. Und immer wenn Sie ein paar Ansichten hinzufügen. Es soll sich selbst verändern.

0

Verwenden Schwere Attribute wie

<LinearLayout 
    android:width="match_parent" 
android:height="match_parent" 
android:layout_gravity:"bottom"> 

Verwandte Themen