19

4行に分割する必要があるTextViewが必要です。例えば

Vishal Vyas
  Having
   342
Reputation

重力はcenter_horizontal

私はフォローしてみました:

<TextView
    android:gravity="center_horizontal"
    android:id="@+id/lblUserRep"
    android:layout_width="70dp"
    android:layout_height="wrap_content"
    android:lines="4"
    android:maxLines="4"
    android:text="VishalVyas Having 342 Reputation" >
</TextView>

これはうまくいきます!ただし、次の出力が生成されます。

VishalVyas
  Having
   342
Reputation

問題:

  1. VishalとVyasという単語の間のスペースでは機能しません。
  2. android:layout_width="70dp"はハーコード化されており、。の代わりにn文字の任意の名前を使用できますVishalVyas

ご意見をお聞かせください。

追加: これを達成するためのカスタムを作成する必要がある場合は問題ありませんTextViewが、いくつかのガイダンスが必要になります。

前もって感謝します。

4

4 に答える 4

21

「VishalVyas」は70dpを超えているので、ラッピングだと思います。代わりにwrap_content、幅を調整し、折り返す代わりに改行文字を行に使用します(つまり、「VishalVyas \ n342 \ nReputation」)

于 2012-10-11T16:09:12.473 に答える
13

\n改行文字を挿入して、分割の場所を制御できるはずです。これを行うと、より長いユーザー名に対応できるように幅を広げることができますTextViewが、それでも適切な場所で中断できます。

于 2012-10-11T16:09:08.590 に答える
7
android:lines="2"
android:minLines="2"
android:singleLine="false"

Android Studioで非推奨と警告された場合でも、そのandroid:singleLine=falseままにしておくと、テキストの長さに応じて、テキストボックスに必要な行数を設定できます。

于 2017-03-20T23:41:17.740 に答える
1

私はそうしました:

TextViewのコンテナ:

    android:layout_width="match_parent"
    android:layout_height="match_parent"

TextView:

    android:layout_width="match_parent"
    android:layout_height="wrap_content"

それで、

TextViewのテキストが2行以上で表示されていました...

于 2017-11-17T23:42:35.607 に答える