我尝试使用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/