web-dev-qa-db-ja.com

Android複数行のTextView

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"はharcodedであり、VishalVyasの代わりにn個の文字で名前を指定できます。

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

追加:これを達成するためにカスタムTextViewを記述する必要がある場合は問題ありませんが、ガイダンスが必要です。

前もって感謝します。

18
Vishal Vyas

「Vishal Vyas」が70dpを超えているため、これはラッピングだと思います。代わりに、wrap_content幅を変更し、折り返さずに行に改行文字を使用します(つまり、「Vishal Vyas\n342\nReputation」)

18
DeeV

改行文字\nを挿入して、分割の行き先を制御できる必要があります。それができたら、TextViewを広げて、より長いユーザー名に対応できるようにしますが、それでも正しい場所で中断します。

12
Blumer
Android:lines="2"
Android:minLines="2"
Android:singleLine="false"

Android StudioはAndroid:singleLine=falseは非推奨です。これを保持し、テキストの長さに応じてテキストボックスに必要な行数を設定できます。

6
display name

私はそうしました:

TextViewのコンテナ:

    Android:layout_width="match_parent"
    Android:layout_height="match_parent"

TextView:

    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"

次に、

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

1