web-dev-qa-db-ja.com

AndroidのTextViewで2行のテキストを中央に配置する方法は?

私はそれを次のように見せたいです:

|    two    |
|   lines   |

以下は現在のレイアウトで、まったく機能していません。

<RelativeLayout
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:gravity="center_vertical">
    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="two\nlines"
        Android:layout_gravity="center_vertical"
        Android:layout_centerInParent="true"/>
</RelativeLayout>

何か案が?ありがとう!

73
shiami

ちょうど中央に配置したい場合(\nは行の分割に取り組んでいます)、単にAndroid:gravity="center_horizontal" のではなく layout_gravity
レイアウト重力を使用すると実際のTextViewが移動し、重力を使用するとTextViewのcontentに影響します。

207
kcoppock

gravityとそのコンテンツの両方を揃えるために、TextViewlayout_gravityの両方を追加する必要がありました

Android:gravity="center_horizontal"
Android:layout_gravity="center_horizontal"
12
kishor.j

幅がwrap_contentの場合、重力とレイアウト重力の両方を「center_horizo​​ntal」として設定する必要があります

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="two\nlines"
    Android:layout_gravity="center_horizontal"
    Android:gravity="center_horizontal"/>

ただし、幅が「match_parent」の場合、重力を「center_horizo​​ntal」として設定するだけで済みます。

<TextView
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:text="two\nlines"
    Android:gravity="center_horizontal"/>

それが役に立てば幸い!

3
Shivam

次を使用できます。

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));
2
Dleelk4android

私はあなたがJavaからそれをしなければならないと思う:

<RelativeLayout
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:gravity="center_vertical">
    <TextView
        Android:id="@+id/the_text_view"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_gravity="center_vertical"
        Android:layout_centerInParent="true"/>
</RelativeLayout>

次に:

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two<br/>lines"));
1
Cristian

私が使う:

Android:gravity="center_horizontal"

2行のテキストを中央に配置する

0
Dea Venditama