Ich versuche, eine Schaltfläche im relativen Layout zu zentrieren. Ist dies möglich? Ich habe die Funktionen Schwerkraft und Orientierung ausprobiert, aber sie tun nichts.
Ich versuche, eine Schaltfläche im relativen Layout zu zentrieren. Ist dies möglich? Ich habe die Funktionen Schwerkraft und Orientierung ausprobiert, aber sie tun nichts.
Antworten:
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.
android:layout_centerInParent="true"
Zum Element hinzufügen , das Sie im RelativeLayout zentrieren möchten
Arcadia, probieren Sie einfach den folgenden Code. Es gibt verschiedene Möglichkeiten, um das gewünschte Ergebnis zu erzielen. 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 Einstellen der Schwerkraft des RelativeLayout selbst wirkt sich auf alle darin platzierten Objekte aus. In diesem Fall ist es nur der Knopf. Natürlich können Sie hier jede der Schwerkrafteinstellungen verwenden (z. B. center_horizontal, oben, rechts 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 in RelativeLayout, wenn eines der folgenden Attribute auch für die Ansicht festgelegt 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. Das "Zentrum" basiert auf der Achse der von Ihnen gewählten Ausrichtung:
links / rechts -> vertikal
oben / unten -> horizontal
Einstellen der Schwerkraft von Kindern / Inhalten in der Ansicht:
android:gravity="center"
zentriert das Kind in jedem Fall in der übergeordneten Ansicht, 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"
Dadurch wird die Ansicht selbst in der übergeordneten Ansicht zentriert
Und schließlich können Sie der Elternansicht das folgende Attribut hinzufügen:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
Verwenden Sie das Attribut android:centerInParent="true"
in 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, richten Sie es nicht an irgendetwas aus
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Centered Button"/>
Es ist wirklich einfach. 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>
Sie müssen es links oder rechts von der übergeordneten Ansicht ausgerichtet haben
Verwenden Sie keine dieser Optionen, wenn Sie android:centerInParent="true"
Codes verwenden: -
android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
etc.