Gleichmäßig beabstandeter Knopf im Layout

Ich versuche, 4 Tasten, gleichmäßig beabstandet in einer Porträtansicht auf Android zu machen.

Der Platz sollte je nach Bildschirmgröße auf und ab skaliert werden, mit einer gleichmäßigen Raummenge zwischen jedem Knopf und den Rändern.

  • Vermeiden Sie Ansichten von Überlappungen in RelativeLayout
  • Kann die XML-Ressource der Bibliothek nicht mit der png-Ressource in der Anwendung überschreiben?
  • Fordern Sie nicht Window.FEATURE_ACTION_BAR an und setzen Sie windowActionBar auf false in Ihrem Design, um stattdessen eine Symbolleiste zu verwenden
  • RequestDisallowInterceptTouchEvent funktioniert nicht, bis die Ansicht zuerst angezeigt wird
  • Video-Capture auf AR (Vuforia) mit Einheit in Android-Plattform
  • Minimale Bildschirmauflösung für Android-Geräte
  • Ich habe versucht, lineare Layout, Gewicht und Layout Gravity, aber es scheint, dass ich nicht zentrieren die Taste vertikal.

    Ist das ein Fehler des Android-Layouts? Wahrscheinlich ist nur ich

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1" android:layout_gravity="center" > <Button android:id="@+id/btn_f" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="btn_f" > </Button> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_weight="1" android:layout_gravity="center" > <Button android:id="@+id/btn_b" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="btn_b" > </Button> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1" android:layout_gravity="center" > <Button android:id="@+id/btn_a" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="btn_a" > </Button> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1" android:layout_gravity="center" > <Button android:id="@+id/settings" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Settings" > </Button> </LinearLayout> </LinearLayout> 

  • Capturing Key Event für Backspace
  • Wie man Trennzeichen in einem PreferenceFragment verwaltet?
  • Warum Logcat nichts zeigt?
  • In-App-Abrechnung funktioniert nicht: "IAB Helper ist nicht eingerichtet"
  • Wie überprüfe ich, ob AlertDialog.builder angezeigt und abgebrochen wird, wenn es angezeigt wird?
  • Überlagern einer Aktivität auf einer anderen Aktivität ODER Überlagerung einer Ansicht über eine andere
  • 3 Solutions collect form web for “Gleichmäßig beabstandeter Knopf im Layout”

    Versuchen Sie so etwas wie dies:

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:orientation="vertical" android:layout_weight="1" android:gravity="center" > <Button android:id="@+id/btn_f" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="btn_f" /> </LinearLayout> <!-- etc --> </LinearLayout> 

    Die Änderungen von Ihrem ursprünglichen Layout sind, dass jede innere LinearLayout hat eine Höhe von Null und eine Schwerkraft (nicht layout_gravity) der Mitte. Dies sollte dazu führen, dass alle inneren linearen Layouts die gleiche Höhe haben, gleichmäßig die Elternhöhe teilen, ohne die Tasten selbst zu dehnen.

    Versuche dies:

      <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:orientation="horizontal" android:weightSum="1" android:gravity="center"> <Button android:id="@+id/btn_f" android:layout_width="0dp" android:layout_weight="0.5" android:layout_height="wrap_content" android:text="btn_f" /> </LinearLayout> 

    Dies wird die Taste, um nur die Hälfte der Bildschirme Länge zu besetzen.

    Sie scheinen alle Tasten in einem anderen LinearLayout zu LinearLayout anstatt sie nur in der übergeordneten LinearLayout .

    Entfernen Sie alle diese sofortige LinearLayout so dass android:layout_weight wirkt.


    Um Stretching und Abstand zu erreichen

    • android:layout_width="fill_parent" in den Buttons selbst
    • Den Rand für den Abstand festlegen
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.