Ich habe das folgende Grundlayout
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar_background">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:text="HELLO WORLD" />
</LinearLayout>
<LinearLayout>
Es scheint, dass die XML korrekt ist, aber der Text ist nach links ausgerichtet. Die Textansicht nimmt die gesamte Breite des übergeordneten Elements ein und die Textansicht wird so eingestellt, dass sie zentriert ist. Ich bin mir nicht sicher, wo das Problem liegt ...
android
android-layout
android-linearlayout
layout-gravity
Jake Wilson
quelle
quelle
Antworten:
Da die Textansicht die gesamte Breite des inneren LinearLayouts ausfüllt, befindet sie sich bereits in der horizontalen Mitte des Layouts . Wenn Sie es verwenden
android:layout_gravity
, wird das Widget als Ganzes in der angegebenen Schwerkraft platziert. Anstatt das gesamte Widget-Center zu platzieren, versuchen Sie wirklich, den Inhalt in das Center zu platzieren, was mit erreicht werden kann,android:gravity="center_horizontal"
und dasandroid:layout_gravity
Attribut kann entfernt werden.quelle
android:layout_width
gleichen Wert (nach dem Layout). Da die Breite des Textview auf dem mit dem inneren Linearlayout gleich ist die Textview hat effektiv dieandroid:layout_gravity
Werte vonleft
,right
undcenter
zur gleichen Zeit.ImageView
seinlayout_gravity
und fürTextView
seingravity
ist, was nur funktioniert. Android ist großartig! Vielen Dank an alle schönen SO-Beiträge, ohne die eine Entwicklung einfach nicht möglich war.android:layout_width="match_parent"
quelle
Wenn Sie setzen
<TextView>
in in der Mitte die<Linearlayout>
erste Stelle setzen dannandroid:layout_width="fill_parent"
obligatorischBedarf Keine andere Schwere der Verwendung
quelle
Verwenden Sie
android:gravity="center"
inTextView
anstelle vonlayout_gravity
.quelle
Verwenden Sie einfach: android: layout_centerHorizontal = "true"
Dadurch wird die gesamte Textansicht in die Mitte gestellt
quelle