我在将文本格式化为TextView字段时遇到问题。我正在使用数据库中的数据填充字符串,我想让它排成一行:
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
SomeString = SomeString + String.format("|%1$-4s|%2$-12s|%3$-10s|\n",
cursor.getString(someColumn1),
cursor.getString(someColumn2),
cursor.getString(someColumn3));
}
Return SomeString
比我将此字符串设置为textView字段。 实际上,它看起来像这样:
|SomeColumn1|SomeColumn2|SomeColumn3|
|SomeColumn1|SomeColumn2StringLonger|SomeColumn3|
|SomeColumn1|ShorterC2|SomeColumn3|
这应该是这样的:
|SomeColumn1-----|SomeColumn2-----|SomeColumn3|
|SomeColumn1-----|SomeLargerString|SomeColumn3|
|SomeColumn1-----|Shorter---------|SomeColumn3|
我尝试过String.format("|%1$.4s|%2$.12s|%3$.10s|\n")
答案 0 :(得分:0)
我遇到了同样的问题。
只需添加以下行:
android:typeface="monospace"
进入textView xml定义,格式化现在可以正常工作。
关于单个字符的宽度。白色空间明显比其他标志短。 Monospace使角色具有相同的宽度。这一切都很简单。
干杯!