1. ホーム
  2. android

[解決済み] Android - LinearLayoutでTextViewを水平に配置する

2022-09-06 17:06:15

質問

次のような基本レイアウトがあります。

<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が 全体を の水平方向の中心にあることです。 レイアウト . を使用する場合 android:layout_gravity を使うと、ウィジェット全体が指定された重力の中に置かれます。ウィジェット全体を中央に配置する代わりに、実際に行おうとしているのは コンテンツ を中央に配置することです。 android:gravity="center_horizontal"android:layout_gravity 属性は削除することができます。