【问题标题】:how can I display multiple lines of text on a button如何在按钮上显示多行文本
【发布时间】:2011-11-12 10:05:54
【问题描述】:

我的按钮的 layout_width 设置为 match_parent。

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

  • 在按钮上的文本中插入“\n”

  • set Singleline false 将 Maxlines 设置为 2 或 3

  • 从 Html.fromHtml 转换 html

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

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

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

【问题讨论】:

  • 我对一个简单的 TextView 也有同样的问题

标签: android button multiline


【解决方案1】:

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

使用
(换行)

    android:text="Hi
Hello"

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

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

【讨论】:

  • 在strings.xml中使用\n
  • 你怎么能改变他们的字体?还是让“Hi”看起来比“Hello”大?
【解决方案2】:

我试过了,效果很好:

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>

【讨论】:

    【解决方案3】:

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

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

    然后将此字符串设置为按钮文本。

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 2018-07-23
      • 2020-06-22
      • 2018-05-03
      • 1970-01-01
      • 2018-08-30
      相关资源
      最近更新 更多