2011-11-12 15 views
36

Myボタンのlayout_widthをmatch_parentに設定します。ボタンに複数行のテキストを表示する方法

ボタンに複数の行を表示するために、私が試した:ボタン上のテキスト

  • 集合単一行偽セットMAXLINESをに 'N \'

    • インサート2または3

    • Html.fromHtml

    nothingからコンバートHTML働いた。 '\ n'はボタンの上に小さな正方形として表示され、1行のテキストが表示されます。

    なぜこれが起こっているのか、どうすればこの問題を解決できるのか、誰にも分かりませんか?

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

  • +0

    単純なTextViewで同じ問題が発生する – Borzh

    答えて

    73

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

    使用
(改行)

    android:text="Hi
Hello" 
    

    コードに新しい行を追加しようとしている場合は、他のテキストと同じように '\ n'を使用してください。

    2行目が見えない場合は、ボタンの高さが足りない可能性があります。私の場合、ボタンを含むレイアウトは、ちょうど私のボタンを完全に1行のテキストを表示させるために起こった固定された高さを持っていた。

    +0

    VirtualBox x86では動作しません。2つの四角形が表示されます。 – Borzh

    +0

    strings.xmlで\ nを使用する – anshulkatta

    21

    私は試したし、それが働いた:

    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> 
    
    +0

    VirtualBox x86では動作しません。2つの四角形が表示されます。 – Borzh

    0

    プログラマチックに行う場合は、文字列にSystem.getProperty("line.separator")を使用して行を変更することができます。

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

    してから、ボタンテキストとして、この文字列を設定します。このよう 。

    関連する問題