我有以下基本布局
<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>
似乎xml是正确的,但文本对齐到左侧。 textview占用父级的整个宽度,textview设置为居中。不确定问题是什么......
答案 0 :(得分:214)
发生的事情是,由于TextView填充了内部LinearLayout的整个宽度,因此它已经位于布局的水平中心。当您使用android:layout_gravity
时,它会将窗口小部件整体放置在指定的重力中。您可以将内容放在中心,而不是放置整个窗口小部件中心,而{em>内容可以通过android:gravity="center_horizontal"
完成,android:layout_gravity
属性可以删除
答案 1 :(得分:22)
<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:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:text="HELLO WORLD" />
</LinearLayout>
答案 2 :(得分:19)
如果您将<TextView>
置于<Linearlayout>
的中心位置,则首先将android:layout_width="fill_parent"
强制列入
无需使用任何其他重力
<LinearLayout
android:layout_toRightOf="@+id/linear_profile"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="It's.hhhhhhhh...."
android:textColor="@color/Black"
/>
</LinearLayout>
答案 3 :(得分:16)
使用android:gravity="center"
中的TextView
代替layout_gravity
。
答案 4 :(得分:0)
只需使用: android:layout_centerHorizontal =“ true”
它将整个textview放在中心