【问题标题】:How to add horizontal spacing between two Spannables?如何在两个 Spannable 之间添加水平间距?
【发布时间】:2021-07-30 04:22:04
【问题描述】:

我有一个自定义 TextView,它结合了两段文本并有一个间距变量。

class MyCustomTextView() {

  var label: String
  var value: String
  var spacingBetweenLabelAndValue: Int = 0

  // ...
}

每个人都有自己的风格并被串联起来。示例:

  • 标签->“姓名:”
  • 值 -> “约翰”
this.text = Spanny(label, *labelTextSpannables)
      .append(value, *valueTextSpannables)

最终导致“姓名:约翰”

我想在这两个字符串之间添加一个额外的间距 (spacingBetweenLabelAndValue)。

"Name:(spacing here)John"

有没有办法使用 Spannable 做到这一点?

【问题讨论】:

    标签: android spannablestring android-spannable


    【解决方案1】:
     SpannableStringBuilder("label")
    .append(String.format("%1$" + spacingBetweenLabelAndValue + "s", ""))
    .append(SpannableString("value"))
    

    【讨论】:

    • 嗨。感谢您的回复,但该答案不涉及使用dps 作为间距。