我怎样才能在一个button上显示多行文字

我的button的layout_width设置为match_parent。

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

  • 在文本button上插入'\ n'

  • 设置单行假设Maxlines为2或3

  • 从Html.fromHtml转换html

没有工作。 '\ n'显示为button上的小方块,同时显示单行文字。

有没有人知道为什么会发生这种情况,我该如何解决这个问题?

更新:我刚刚发现我正在使用具有自己的文字绘图的自定义button。 这就是原因。 对困惑感到抱歉。 我只是狠狠地惩罚自己。

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

使用
 (新队)

  android:text="Hi
Hello" 

如果您要在代码中添加新行,请使用“\ n”,与其他任何文本相同。

如果你看不到第二行,可能是你的Button没有足够的高度。 IE浏览器,在我的情况下,包含button的布局有一个固定的高度,恰好使我的button完美地显示一行文本。

我只是试过,它的工作:

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> 

如果你想做这个programmaticaly你可以在string中使用System.getProperty("line.separator")来改变行。 喜欢这个:

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

然后将此String设置为button文本。