java - 当某些字符串具有不同长度时,如何格式化多个字符串以获得相等的间距

标签 java android printf string-formatting formatter

我尝试使用String.format("%-10s %s %20s",stringPlaceNumber, userName, ScoreNumberAsString); 我得到以下输出 High Scores Page Image

如何填充正确数量的空格或不可见字符以使其看起来间距正确?

其他信息: - 这是在 Android 上进行的,因此在终端中尝试此操作在这里没有多大用处。字体具有可变宽度(即空格可以小于字符)

  • 用户的姓名来自输入到 SQLite 数据库的 Android EditText,BaseAdapter 将前 10 名分数放入 ListView
  • 用户可以在游戏结束时输入得分名称,最多 20 个字符。
  • 这是代码的其余部分

`listView.setAdapter(new BaseAdapter() { @覆盖 公共(public) int getCount() { 返回分数.size(); }

            @Override
            public ScoreManager.Score getItem(int position) {
                return scores.get(position);
            }

            @Override
            public long getItemId(int position) {
                return 0;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                ScoreManager.Score score = getItem(position);

                TextView view = new TextView(ScoresActivity.this);

                view.setText(String.format("%-10s %s %20s", getPlaceNumber(position+1),score.name.trim(), formatScore(score.score).trim()));
                view.setTextSize(5 * getResources().getDisplayMetrics().density);
                return view;
            }
        });

最佳答案

您可以使用 String 的 .trim() 方法。

关于java - 当某些字符串具有不同长度时,如何格式化多个字符串以获得相等的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001993/

相关文章:

java - JAR list 代码库不匹配

java - 在java代码中从wsdl调用web服务

android - 将非 Activity 类添加到 Dagger 2 Graph Android

java - Java 中 System.out.printf 命令的问题

java - 如何使用 printf() (Java) 正确格式化文本

java - 在 Lucene 中使用 FieldInvertState 来识别字段已添加到文档中的次数

java - 反编译、修改和重新编译android apk

android - 如何在 Android 手机上模拟 nfc 标签

c - getchar() 从之前的 printf() 中获取最后一个字符?

java - 使用 mobicents 的 MAP 界面