2011-01-25 16 views
60

私はそれがこのようになりますようにしたい:ここ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> 

ありがとう!

答えて

184

あなただけの(私は\nは、行を分割するために働いていると仮定しています)、それを中央にしたい場合単にlayout_gravityではなくandroid:gravity="center_horizontal"を追加してください。
レイアウト重力を使用すると、実際のTextViewが重力を使用して移動し、の内容TextViewの内容に影響します。

を使用でき
1

私は、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")); 
2

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

2は、あなたのrequirment

+0

これはTextViewを中央に設定せず、2行だけを強制します。それでも、この回答はあまりにも悪いことではないので、それを下落させる必要があります。 – Shishdem

+0

何も解決しない-.- –

+0

要求通りには影響しません。アラインメントは中央に配置されません。 – deva11

8

がにgravitylayout_gravityの両方を追加する必要がありましたようあなたがいないこれを設定することができますラインのノーであるプロパティ

android:lines="2" 

を追加します。 TextViewとその内容を合わせてください。

android:gravity="center_horizontal" 
android:layout_gravity="center_horizontal" 
2

あなた幅が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"/> 

として重力とlayout_gravityの両方を設定する必要があり、あなたの幅がある場合は、 『center_horizo​​ntal

を「match_parent、あなただけのように重力を設定する必要があります』
<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="two\nlines" 
    android:gravity="center_horizontal"/> 

希望します。

+0

ありがとうございます。これは機能します。 'gravity'と 'layout_gravity'の両方を設定すると、私のトリックができました。 –

関連する問題