web-dev-qa-db-ja.com

ボタンに複数行のテキストを表示するにはどうすればよいですか

ボタンのlayout_widthがmatch_parentに設定されています。

ボタンに複数行を表示するために、私は試しました:

  • ボタン上のテキストに「\ n」を挿入します

  • シングルラインをfalseに設定Maxlinesを2または3に設定

  • html.fromHtmlからhtmlを変換します

何も機能しませんでした。 「\ n」はボタン上に小さな正方形として表示され、1行のテキストが表示されます。

なぜこれが起こっているのか、どうすれば修正できるのか誰にもわかりませんか?

更新:独自のテキスト描画があるカスタムボタンを使用していることがわかりました。それが理由。混乱させて申し訳ありません。私は頭を叩いて自分を罰しました。

46
Tae-Sung Shin

レイアウトXMLファイルに新しい行を追加しようとしている場合:

つかいます 
(改行)

    Android:text="Hi
Hello"

コードに新しい行を追加しようとしている場合は、他のテキストと同様に「\ n」を使用します。

2行目が表示されない場合は、ボタンの高さが十分でない可能性があります。 IEでは、私の場合、ボタンを含むレイアウトの高さが固定されていたため、ボタンが1行のテキストを完全に表示するようになりました。

81
wannik

私はちょうど試しましたが、うまくいきました:

1)../res/values/strings.xmlで定義します。

<string name="multilines">Line1Line1\nLine2Line2</string>

2)レイアウトファイルでそれを参照します。

<Button
    Android:id="@+id/btn_multilines"
    Android:text="@string/multilines"
    Android:layout_height="wrap_content"
    Android:layout_width="fill_parent">
</Button>
28
hovanessyan

プログラムでそれを行いたい場合は、文字列でSystem.getProperty("line.separator")を使用して行を変更できます。このような:

String mybuttontext=line1+System.getProperty("line.separator")+line2;

次に、この文字列をボタンテキストとして設定します。

1
geo