如何在android中获取特定格式的字符串

Lal*_*lit 4 java string-formatting

假设我想以某种特定格式打印"Item"及其"price"

abc           2
asdf          4
qwer xyz      5
Run Code Online (Sandbox Code Playgroud)

AND 2,4,5必须像一列一样.

为此我试过 -

StringBuilder sb = new StringBuilder();

sb.append(String.format("%s%25s", "abc","2"));
sb.append(String.format("%s%25s", "asdf","4"));
sb.append(String.format("%s%25s", "qwer xyz","5"));

tv.setText(sb.toString());   //tv is a text view
Run Code Online (Sandbox Code Playgroud)

输出是 -

abc             2
asdf             4
qwer xyz             5
Run Code Online (Sandbox Code Playgroud)

我想要"abc",在25个空格之后,我想要"5",但它从abc开始计算25个空格

rek*_*ire 5

你混淆了订单试试这个:

StringBuilder sb = new StringBuilder();

sb.append(String.format("%-25s%s", "abc","2"));
sb.append(String.format("%-25s%s", "asdf","4"));
sb.append(String.format("%-25s%s", "qwer xyz","5"));

tv.setText(sb.toString());   //tv is a text view
Run Code Online (Sandbox Code Playgroud)

25之前的减号意味着反转文本的对齐方式.最后一步是使用等宽字体.您可以使用以下行来实现:

tv.setTypeface(Typeface.MONOSPACE);
Run Code Online (Sandbox Code Playgroud)