当某些字符串的长度不同时,如何格式化多个字符串以获得相等的间距
How can I format several Strings to get equal spacing when some of the Strings have different lengths
我试过使用String.format("%-10s %s %20s",stringPlaceNumber, userName, scoreNumberAsString);
我得到以下输出
High Scores Page Image。
如何填充正确数量的空格或不可见字符以使其看起来间隔正确?
其他信息:
- 这是在 Android 上,因此在终端中尝试此操作在这里没有多大用处。字体具有可变宽度(即空格可以小于字符)
- 用户名来自输入到 SQLite 数据库的 Android EditText 和
BaseAdapter
将前 10 个分数放入 ListView
。
- 用户可以在游戏结束时为得分输入一个名称,最多 20 个字符。
- 这是代码的其余部分
`listView.setAdapter(新的BaseAdapter(){
@覆盖
public int getCount() {
return scores.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.format("%-10s %s %20s",stringPlaceNumber, userName.trim(), scoreNumberAsString.trim());
您可以使用 String 的 .trim()
方法。
我试过使用String.format("%-10s %s %20s",stringPlaceNumber, userName, scoreNumberAsString);
我得到以下输出
High Scores Page Image。
如何填充正确数量的空格或不可见字符以使其看起来间隔正确?
其他信息: - 这是在 Android 上,因此在终端中尝试此操作在这里没有多大用处。字体具有可变宽度(即空格可以小于字符)
- 用户名来自输入到 SQLite 数据库的 Android EditText 和
BaseAdapter
将前 10 个分数放入ListView
。 - 用户可以在游戏结束时为得分输入一个名称,最多 20 个字符。
- 这是代码的其余部分
`listView.setAdapter(新的BaseAdapter(){ @覆盖 public int getCount() { return scores.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.format("%-10s %s %20s",stringPlaceNumber, userName.trim(), scoreNumberAsString.trim());
您可以使用 String 的 .trim()
方法。