如何在按钮上显示多行文本

时间:2011-11-12 10:05:55

标签: android button multiline

我的按钮的layout_width设置为match_parent。

为了在按钮上显示多行,我尝试了:

  • 将'\ n'插入按钮

  • 上的文字
  • 设置单行false将Maxlines设置为2或3

  • 从Html.fromHtml转换html

没有任何效果。 '\ n'显示为按钮上的一个小方块,同时显示单行文字。

有没有人知道为什么会这样,以及我如何解决这个问题?

更新:我刚刚发现我使用的是具有自己文本绘图的自定义按钮。这就是原因。对困惑感到抱歉。我只是用敲打头来惩罚自己。

3 个答案:

答案 0 :(得分:77)

如果您尝试在布局XML文件中添加新行:

使用
(换行)

    android:text="Hi
Hello"

如果您尝试在代码中添加新行,只需使用'\ n',与任何其他文本相同。

如果您看不到第二行,可能是您的按钮没有足够的高度。 IE,在我的例子中,包含按钮的布局有一个固定的高度,恰好使我的按钮完美显示一行文字。

答案 1 :(得分:27)

我只是尝试过并且有效:

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>

答案 2 :(得分:0)

如果您想要以编程方式执行该操作,可以在字符串中使用System.getProperty("line.separator")来更改行。 像这样:

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

然后将此String设置为按钮文本。