Wie man linearlayout zum vertikalen Zentrum ausrichtet?

Ich bin tyring, um linearlayouts vertikale Mitte auszurichten, die folgendes Bild (skycolor border) zeigt, um die vertikale Mitte des Knopfes zu löschen.

Also habe ich die Schwerkraft von id gesetzt: groupNumbers to center_vertical.

  • Was ist ein vernünftiger Wert für SD-Kartengröße für AVDs?
  • Konvertieren von Zeichenfolge in JSON-Array
  • OpenCV Service Intent muss explizit sein, Android 5.0 Lolipop
  • Beste Weg, um Breite / Höhe eines Widgets programmgesteuert zu ändern?
  • Wie kann ich den Download-Manager von Broadcast Receiver starten?
  • Wie bekomme ich einen Android Keystore RSA Key mit unendlicher Gültigkeit?
  • Aber nicht verändert

    Wie man sich ausstellt id: groupNumbers to buttons's center?

    Bildbeschreibung hier eingeben

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/groupNumbers" android:orientation="horizontal" android:gravity="center_vertical" android:layout_weight="0.7" android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/txtSelected01" android:text="00" android:textSize="30dp" android:gravity="center_horizontal" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/txtSelected02" android:text="00" android:textSize="30dp" android:gravity="center_horizontal" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout> <Button android:id="@+id/btn_deleteNum" android:text="Delete" android:textSize="20dp" android:layout_weight="0.2" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> 

  • Nur einige Benutzer melden "Resource Not Found" Fehler. Macht das Sinn?
  • CardView geht auf FrameLayout, aber deklariert zuerst
  • Android: benutzerdefinierte Präferenz erstellen
  • ViewHolder-Muster korrekt in benutzerdefiniertem CursorAdapter implementiert?
  • Wie fügt man Trennzeichen zwischen bestimmten Menüpunkten hinzu?
  • Wie kann ich einen dritten Button zu einem Android Alert Dialog hinzufügen?
  • 5 Solutions collect form web for “Wie man linearlayout zum vertikalen Zentrum ausrichtet?”

    Ändern Sie Orientierung und Schwerkraft in

     <LinearLayout android:id="@+id/groupNumbers" android:orientation="horizontal" android:gravity="center_vertical" android:layout_weight="0.7" android:layout_width="wrap_content" android:layout_height="wrap_content"> 

    nach

     android:orientation="vertical" android:layout_gravity="center_vertical" 

    Sie fügen Orientierung hinzu: horizontal, so dass das Layout alle Elemente in einer horizontalen Zeile enthält. Das erlaubt Ihnen nicht, das Element in der Mitte zu bekommen.

    Hoffe das hilft.

    android:layout_gravity anstelle von android:gravity

    android:gravity setzt die Schwerkraft des Inhalts der Ansicht, auf der es verwendet wird. android:layout_gravity setzt die Schwerkraft der Ansicht oder des Layouts in ihrem Elternteil.

    Verwenden Sie layout_gravity statt der gravity . layout_gravity sagt dem Elternteil, wo es positioniert werden soll, und die gravity sagt seinem Kind, wo sie positioniert werden sollen.

     <LinearLayout android:id="@+id/groupNumbers" android:orientation="horizontal" android:layout_gravity="center_vertical" android:layout_weight="0.7" android:layout_width="wrap_content" android:layout_height="wrap_content"> 

    Für mich habe ich das Problem mit android:layout_centerVertical="true" in einem übergeordneten RelativeLayout :

     <RelativeLayout ... > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_centerVertical="true"> </RelativeLayout> 

    Für eine Box, die in der Mitte erscheint – horizontal & vertikal – habe ich diese mit nur einem LinearLayout zu arbeiten. Die Antwort von Viswanath L war sehr hilfreich

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/layout_bg" android:gravity="center" android:orientation="vertical" android:padding="20dp"> <TextView android:id="@+id/dialog_header" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:padding="10dp" android:text="Error" android:textColor="#000" /> <TextView android:id="@+id/message_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:padding="10dp" android:text="Error-Message" android:textColor="#000" /> <Button android:id="@+id/dialogButtonOK" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/message_text" android:layout_gravity="center_horizontal" android:layout_marginTop="5dp" android:text="Ok" /> </LinearLayout> 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.