Ich versuche, eine Schaltfläche im relativen Layout zu zentrieren. Ist dies möglich? Ich habe die Schwerkraft- und Orientierungsfunktionen ausprobiert, aber sie tun nichts.
Versuchen
Android:layout_centerHorizontal="true"
Genau so funktioniert es bei mir:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="#ff0000">
<Button
Android:id="@+id/btn_mybutton"
Android:layout_height="wrap_content"
Android:layout_width="124dip"
Android:layout_marginTop="5dip"
Android:layout_centerHorizontal="true"/>
</RelativeLayout>
Sie können CENTER_IN_PARENT für das relative Layout verwenden.
Fügen Sie Android:layout_centerInParent="true"
zu dem Element hinzu, das Sie im RelativeLayout zentrieren möchten
Arcadia, versuche einfach den Code unten. Es gibt mehrere Möglichkeiten, das gewünschte Ergebnis zu erhalten. Dies ist eine der einfacheren Möglichkeiten.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/relative_layout"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:gravity="center">
<Button
Android:id="@+id/the_button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Centered Button"/>
</RelativeLayout>
Das Festlegen der Schwerkraft von RelativeLayout selbst wirkt sich auf alle darin befindlichen Objekte aus. In diesem Fall ist es nur die Schaltfläche. Sie können hier natürlich jede der Schwerkrafteinstellungen verwenden (z. B. center_horizontal, top, right usw.).
Sie können diesen Code auch unten verwenden:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/relative_layout"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<Button
Android:id="@+id/the_button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Centered Button"
Android:layout_centerInParent="true"/>
</RelativeLayout>
zusammengefasst
Hinzufügen:
Android:layout_centerInParent="true"
funktioniert nur bei RelativeLayout, wenn für die Ansicht auch eines der folgenden Attribute gesetzt ist:
Android:layout_alignParentLeft="true"
Android:layout_alignParentStart="true"
Android:layout_alignParentTop="true"
Android:layout_alignParentBottom="true"
Android:layout_alignParentRight="true"
Android:layout_alignParentEnd="true"
dadurch wird die untergeordnete Ansicht an der übergeordneten Ansicht ausgerichtet. Die "Mitte" basiert auf der Achse der von Ihnen gewählten Ausrichtung:
links/rechts -> vertikal
oben/unten -> horizontal
Festlegen der Schwerkraft von Childs/Inhalten in der Ansicht:
Android:gravity="center"
in jedem Fall wird das untergeordnete Element in der übergeordneten Ansicht zentriert, wenn keine Ausrichtung festgelegt ist. Optional können Sie wählen:
<!-- Axis to Center -->
Android:gravity="center_horizontal"
Android:gravity="center_vertical"
<!-- Alignment to set-->
Android:gravity="top"
Android:gravity="bottom"
Android:gravity="left"
Android:gravity="right"
Android:gravity="fill"
...
Dann ist da:
Android:layout_gravity="center"
welche die Ansicht selbst in ihrem übergeordneten Element zentriert
Zum Schluss können Sie der Elternansicht folgendes Attribut hinzufügen:
Android:layout_centerHorizontal="true"
Android:layout_centerVertical="true"
Verwenden Sie das Attribut Android:centerInParent="true"
innerhalb einer Ansicht , Wenn Sie die Ansicht im relativen Layout zentrieren möchten.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/main_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
<TextView
Android:layout_centerInParent="true"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="NWE"
Android:textSize="30dp"/>
</RelativeLayout>
Es ist einfach, es an nichts auszurichten
<Button
Android:id="@+id/the_button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerInParent="true"
Android:text="Centered Button"/>
Um die Ausrichtung in einer der Richtungen zu zentrieren, verwenden Sie Android: layout_centerHorizontal = "true" oder Android: layout_centerVertical = "true" im untergeordneten Layout
Es ist wirklich leicht. Versuchen Sie den Code unten,
<RelativeLayout
Android:id="@+id/second_RL"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_below="@+id/first_RL"
Android:background="@Android:color/holo_blue_bright"
Android:gravity="center">
<Button
Android:id="@+id/button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Button" />
</RelativeLayout>
Entfernen von Ausrichtungen wie Android: layout_alignParentStart = "true" und Hinzufügen von centerInParent hat für mich funktioniert. Wenn das "Ausrichten" in bleibt, funktioniert das CenterInParent nicht
sie müssen es links oder rechts der übergeordneten Ansicht ausgerichtet haben
verwenden Sie keine dieser Codes, wenn Sie Android:centerInParent="true"
-Codes verwenden
Android:layout_alignParentLeft="true"
Android:layout_alignParentLeft="true"
Android:layout_alignRight=""
usw.