テキストの中心をAndroidに合わせる


149

簡単そうに聞こえます。テキストを中央に配置する必要がありますが、テキストが長すぎる場合は下に移動する必要がありますが、それでもXMLの中央に揃えます。

これが私のコードです:

 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:layout_centerHorizontal="true"
>
    <TextView 
        android:id="@+id/showdescriptiontitle"
        android:text="Title"
        android:textSize="35dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

スペースが必要なので、paddingTopとBottomを配置しました。PS:私のコードはもっと大きいです。RelativeLayoutにあります。


ここでは、テキストスタイルを使用していません
Dinith

回答:


380

また、セットandroid:gravity内のパラメータTextViewcenter

さまざまなレイアウトパラメーターの効果をテストするには、すべての要素に異なる背景色を使用することをお勧めします。これにより、重力、layout_gravityなどのパラメーターでレイアウトがどのように変化するかを確認できます。


ありがとう、うまくいきました。回答が有効になるまで少し時間がかかります!
Tsunaze、2009

はい、そうです。しかし、TextViewに複数の行がある場合にのみ考えます。テキストが1行だけではないため、TextViewはレイアウトを水平方向に埋めません
peter.bartos

これを回避するには、TextViewのandroid:layout_width = "fill_parent"を設定します
peter.bartos

2
と混同しないでくださいandroid:layout_gravity。どー!:)
ジョシュア・ピンター


21

このようにXMLで使用する

   <TextView
        android:id="@+id/myText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Time is precious, so love now."
        android:gravity="center"
        android:textSize="30dp"
        android:textColor="#fff"
        />

7

次のものを使用できます。

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp">

 <TextView
        android:id="@+id/textview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Your text"
        android:typeface="serif" />
</LinearLayout>

レイアウトは、使用する「center」プロパティに対して相対的である必要があります。


5

android:gravity="center"TextViewに追加すると、トリックが実行されます(親のレイアウトがRelative/Linear)。

また、フォントサイズにdpを使用しないでください。代わりにspを使用してください。


3

TextViewの中央値でlayout_gravityと重力を追加する

<TextView
    android:text="welcome text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    />


1
android:layout_gravity="center"

または

android:gravity="center"

どちらもうまくいきます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.