1

我在将文本格式化为 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")

4

1 回答 1

0

我有同样的问题。

只需添加这一行:

android:typeface="monospace"

进入 textView xml 定义,格式化现在可以工作了。

这完全是关于单个字符的宽度。空白显然比其他标志短。Monospace 使字符具有相同的宽度。就是这样,就这么简单。

干杯!

于 2012-02-03T14:31:33.397 回答