Ich versuche, eine Schaltfläche im relativen Layout zu zentrieren, ist das möglich? Ich habe die Schwerkraft- und Orientierungsfunktionen ausprobiert, aber sie tun nichts.Können Sie einen Button in RelativeLayout zentrieren?
Antwort
android:layout_centerHorizontal="true"
Genau wie diese versuchen, es funktioniert für mich:
<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 CENTER_IN_PARENT für relatives Layout verwenden können.
hinzufügen android:layout_centerInParent="true"
zu Element, das Sie in der RelativeLayout
Wo lege ich das hin? – Arcadia
@josnidhin: das ist die richtige Antwort. – Ashwin
Richtig;) Danke :) – androniennn
Arcadia zentrieren möchten, versuchen Sie einfach den Code unten. Es gibt mehrere Möglichkeiten, um 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>
Die Einstellung der Relativität von RelativeLayout selbst wirkt sich auf alle darin platzierten Objekte aus. In diesem Fall ist es nur der Knopf. Sie können hier natürlich alle Einstellungen für die Schwerkraft verwenden (z. B. "center_horizontal", "top", "right" usw.).
Sie könnten auch diesen Code 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>
Danke. Wenn ich jedoch mehrere Tasten hätte und nur einen zentrieren wollte, wie würde ich das machen? Der erste Code würde alles innerhalb der übergeordneten relativen Anordnung zentrieren. Außerdem, wie könnte ich den Knopf an der Spitze der Reihe zentrieren? – Arcadia
10 Verwenden Sie einfach das zweite Beispiel und fügen Sie nur centerInParent zu der Schaltfläche hinzu, die zentriert werden soll. Sie können auch "centerHorizontal" und "layout_alignParentTop" verwenden, um sie nach oben auszurichten und sie horizontal zu zentrieren. Was genau versuchen Sie zu erreichen, könnte ich ein besseres Beispiel geben. – kcoppock
Ich beginne gerade meine Studien über Android-Entwicklung und versuche zu verstehen, wie man Dinge manipuliert, um das zu tun, was ich will. Grundsätzlich möchte ich die Pixel nicht ausrichten, da das Bild auf einem anderen Bildschirmtyp/Auflösung anders aussehen könnte. Wenn Sie jedoch den Schwerkraftbefehl verwenden, folgt alles ihm. Ich habe versucht, die Schwerkraft für einen Knopf zu deaktivieren, indem ich ignoreGravity benutzte, und es hat nicht funktioniert. Dieses Zeug ist sehr schwierig. – Arcadia
Es ist einfach, nicht, dass es zu irgendetwas ausrichten
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Centered Button"/>
jede Ausrichtung wie android Entfernen: layout_alignParentStart = "true "und Hinzufügen von centerInParent arbeitete für mich. Wenn die "align" in bleibt, wird das centerInParent nicht funktioniert
Um in einem der Android-Richtung Nutzung Zentrieren: layout_centerHorizontal = "true" oder Android: layout_centerVertical = "true" in dem Kind Layout
Verwenden Sie das Attribut android:centerInParent="true"
in einer Ansicht, , wenn Sie die Ansicht in Relatives 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 wird empfohlen, 'match_parent' anstelle von' fill_parent' zu verwenden. 'fill_parent' ist ab API 8 veraltet. – RediOne1
Sie müssen es ausgerichtet haben, nach links oder rechts der übergeordneten Ansicht
eine dieser nicht verwenden, wenn android:centerInParent="true"
Codes: -
android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
usw.
Verdichtete
Hinzufügen:
android:layout_centerInParent="true"
nur auf RelativeLayout funktioniert, wenn eine der folgenden Eigenschaften 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"
, die das Kind Blick zum Abgleich zur Elternansicht. Das "Zentrum" basiert auf der Achse der Ausrichtung Sie gewählt haben:
links/rechts -> vertikale
oben/unten -> horizontal
die Schwere der Childs Einstellung/Inhalt in der Ansicht:
Zentriert das Kind in der übergeordneten Ansicht in jedem Fall, 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 gibt es:
android:layout_gravity="center"
die den Blick selbst im Inneren ist Zentrierung der Eltern
Und schließlich können Sie das folgende Attribut hinzufügen, um die Eltern anzuzeigen:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
Es ist wirklich einfach. Versuchen Sie den folgenden Code:
<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>
Nur Code-Antworten sind hier nicht willkommen. Versuchen Sie, weitere Details zu veröffentlichen, warum die obige Antwort funktioniert. :) – Vivz
Danke für die Richtlinie. Ich bin neu hier drin. –
- 1. Wie positioniere ich einen Button in einem RelativeLayout über Code?
- 2. Android Button in RelativeLayout nach unten ausrichten?
- 3. RelativeLayout, richten Sie links/rechts für zwei Tasten aus, zentrieren Sie für eine
- 4. Zentrieren eines ImageButton und eines TextView in einem RelativeLayout
- 5. Zentrieren Sie einen Knopf zwischen zwei Tabellenzeilen
- 6. Wie kann ich einen Bootstrap-Klassen-Button vertikal zentrieren?
- 7. android können nicht hinzufügen relativelayout in Fragment dynamisch
- 8. So zentrieren Sie Vorlagenelement in PdfPCell zentrieren
- 9. RelativeLayout Scrollbare
- 10. Wie können Sie Ansichten dynamisch zu einem RelativeLayout hinzufügen, das bereits im XML-Layout deklariert wurde?
- 11. Zentrieren Sie die Elemente von Listview horizontal
- 12. Zwei Tasten horizontal zentrieren
- 13. Wie zentrieren Sie Text in benutzerdefinierten Schaltflächen?
- 14. Zentrieren Sie die Komponente in Borderlayout - Codenameone
- 15. ScrollView in einem RelativeLayout
- 16. RelativeLayout Gravitationszentrum funktioniert nicht
- 17. So zentrieren Sie mehrere Elemente in UIView
- 18. RelativeLayout-LayoutParams können nicht in FrameLayout-LayoutParams umgewandelt werden
- 19. Zentrieren Sie einen Satz in einer Zeile CSS
- 20. Zentrieren Text um einen Punkt
- 21. Zentrieren Sie die Zeichen in der Schaltfläche
- 22. So zentrieren Sie einen Knoten innerhalb eines Bereichs javafx
- 23. Einen UITextField's attributedPlaceholder vertikal zentrieren
- 24. Android dynamische RelativeLayout
- 25. Zentrieren Titel in Benutzerdefinierte Symbolleiste
- 26. Wie zentriere ich ein LinearLayout in RelativeLayout?
- 27. RelativeLayout Zorder Lollipop
- 28. Xamarin.Forms: RelativeLayout-Bedingungen nachträglich ändern
- 29. Können Sie einen Verschluss klonen?
- 30. Wie integrieren Sie TextSwitcher über einen Button?
Sprache? Rahmen? OS? –
Welche Sprache/Framework/etc verwenden Sie? – Nippysaurus
@Arnold Spence: du schlägst mich um 24 Sekunden :) – Nippysaurus