左图是我现在拥有的。正确的形象是我的目标。
我需要三个空格来表示小数位前的整数。如果它是0,我只需要在它之前显示两个空格。这就是我正在做的事情,但它不起作用,因为它产生左图像。我需要它在小数点前强制三个空格。
mAttemptOneScore.setText(String.format("%3.2f", mScoreAttemptOne));
mAttemptTwoScore.setText(String.format("%3.2f", mScoreAttemptTwo));
mAttemptThreeScore.setText(String.format("%3.2f", mScoreAttemptThree));
mAttemptFourScore.setText(String.format("%3.2f", mScoreAttemptFour));
mTotalScore.setText(String.format("%3.2f", mFinalScore));
答案 0 :(得分:1)
看起来你有一定数量的尝试。 在这种情况下,构建UI的正确方法是使用GridLayout:https://developer.android.com/reference/android/widget/GridLayout.html
如果您仍想使用基于文本的格式,则有许多解决方案。
基于标签的格式
mAttemptTwoScore.setText(String.format("On %d attempt \t\t%d * %.2f\t=%3.2f", ...));
HTML格式化,使用html构建您的UI并使用此方法
@SuppressWarnings("deprecation")
public static Spanned getSpanned(String text) {
Spanned spanned;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
spanned = Html.fromHtml(text, Html.FROM_HTML_MODE_LEGACY);
else
spanned = Html.fromHtml(text);
return spanned;
}
将HTML分配给TextView。
第三方图书馆,例如https://github.com/thedathoudarya/WAGU-data-in-table-view。您应该保证使用等宽字体。