如何在两个 Spannables 之间添加水平间距?

问题描述

我有一个自定义 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 做到这一点?

解决方法

 SpannableStringBuilder("label")
.append(String.format("%1$" + spacingBetweenLabelAndValue + "s",""))
.append(SpannableString("value"))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...