114

私は次の基本的なレイアウトを持っています

<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 は正しいようですが、テキストが左揃えになっています。テキストビューは親の幅全体を占め、テキストビューは中央に配置されるように設定されています。何が問題なのかわからない...

4

5 に答える 5

235

何が起こっているのかというと、TextViewは内側のLinearLayoutの幅全体を埋めているので、すでにレイアウトの水平方向の中央にあります。使用するandroid:layout_gravityと、ウィジェットは全体として、指定された重力の中に配置されます。ウィジェットの中央全体を配置する代わりに、実際に実行しようとしているのは、コンテンツを中央に配置することです。これは、で実行できandroid:gravity="center_horizontal"android:layout_gravity属性を削除できます。

于 2011-10-04T17:54:56.037 に答える
25

<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>
于 2014-05-06T05:15:24.000 に答える
24
<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>

于 2011-10-04T17:49:46.577 に答える
16

の代わりに使用android:gravity="center"します。TextViewlayout_gravity

于 2011-10-04T17:47:41.777 に答える