我的按钮的layout_width设置为match_parent。
为了在按钮上显示多行,我尝试了:
将'\ n'插入按钮
设置单行false将Maxlines设置为2或3
从Html.fromHtml转换html
没有任何效果。 '\ n'显示为按钮上的一个小方块,同时显示单行文字。
有没有人知道为什么会这样,以及我如何解决这个问题?
更新:我刚刚发现我使用的是具有自己文本绘图的自定义按钮。这就是原因。对困惑感到抱歉。我只是用敲打头来惩罚自己。
答案 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设置为按钮文本。