Ich habe ein einfaches Rasterlayout von 2x2. 3 von ihnen haben einen Blick auf rot, grün und blau. Ich möchte, dass sie in den Gitterzellen zentriert sind. Mein Layout ist wie unten, aber die Ansicht ist links oben ausgerichtet, auch wenn ich für alle Ansichten layout_gravity als Mitte gesetzt habe. Wie könnte ich das lösen?Wie wird die Ansicht in Rasterzellen des GridLayout-Centers ausgerichtet?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.elyeproj.griddrag.MainActivity">
<GridLayout
android:id="@+id/container_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal">
<View
android:id="@+id/view_red"
android:layout_height="100dp"
android:layout_width="100dp"
android:layout_gravity="center"
android:background="#ff0000" />
<View
android:id="@+id/view_green"
android:layout_height="100dp"
android:layout_width="100dp"
android:layout_gravity="center"
android:background="#00ff00" />
<View
android:id="@+id/view_blue"
android:layout_height="100dp"
android:layout_width="100dp"
android:layout_gravity="center"
android:background="#0000ff" />
</GridLayout>
</RelativeLayout>
Großartig! Leider funktioniert es nur auf API21 :(. Was, wenn ich will, dass es frühere Version unterstützt? – Elye
ja, für niedrigere apis müssen Sie es in Java-Code tun. Berechnen Sie nur die Größe von GridLayout und dann die Größe der Ansicht genau einstellen (nach Pixel) anstelle von Gewicht;) akzeptieren Sie die Antwort, wenn es hilfreich war –
siehe diese Seite für eine bessere Lösung unter 21: http://StackOverflow.com/Questions/10016343/Gridlayout-Not-Gridview-how-to-stretch-all -Kinder-gleichmäßig –