Android TextView 多行格式
Android TextView Multiline Formatting
我的 logcat 中的这两行是用 String.fortmat()
格式化的字符串
04-19 13:57:44.918 26962-26962/ts.kiosk.app.checkout E/java.lang.StackTraceElement: "Tendered Amount: Rs. 0.00"
04-19 13:57:44.919 26962-26962/ts.kiosk.app.checkout E/java.lang.StackTraceElement: "Change Due: Rs. 0.00"
您可以看到这两行的长度完全相同,但在文本视图中,字符串与格式不完全相同:
String.format("%-25s Rs. %2.2f", "Tendered Amount:", formatCentsToCurrency(checkoutBasket.tenderedAmount));
String.format("%-25s Rs. %2.2f", "Change Due:", formatCentsToCurrency(checkoutBasket.changeDue));
这就是它在 TextView 中的对齐方式:
"Tendered Amount: Rs. 0.00"
"Change Due: Rs. 0.00"
我认为我的 TextView 以某种方式弄乱了格式:
<TextView
android:id="@+id/text_receipt"
android:layout_width="wrap_content"
android:layout_height="match_parent"
style="@style/popUpReceiptText"
android:text="@string/popup_detail_description_default"
android:gravity="left"
android:layout_gravity="center_horizontal"/>
Android 设备默认不使用等宽字体,因此即使控制间距,也很难在同一个 TextView 中左右对齐。
您可以通过更改布局来解决此问题。一个想法是在 RelativeLayout
.
中每行实现 2 个 TextView,一个带有 alignParentLeft=true
,另一个带有 alignParentRight=true
您可以尝试使用表格布局,而不是使用 Textview,它会自动对齐行和列中的值。
对我来说是正确答案,而且其实很简单我早该发现的:
我简单补充了:
android:typeface="monospace"
到我的 TextView
我的 logcat 中的这两行是用 String.fortmat()
格式化的字符串04-19 13:57:44.918 26962-26962/ts.kiosk.app.checkout E/java.lang.StackTraceElement: "Tendered Amount: Rs. 0.00"
04-19 13:57:44.919 26962-26962/ts.kiosk.app.checkout E/java.lang.StackTraceElement: "Change Due: Rs. 0.00"
您可以看到这两行的长度完全相同,但在文本视图中,字符串与格式不完全相同:
String.format("%-25s Rs. %2.2f", "Tendered Amount:", formatCentsToCurrency(checkoutBasket.tenderedAmount));
String.format("%-25s Rs. %2.2f", "Change Due:", formatCentsToCurrency(checkoutBasket.changeDue));
这就是它在 TextView 中的对齐方式:
"Tendered Amount: Rs. 0.00"
"Change Due: Rs. 0.00"
我认为我的 TextView 以某种方式弄乱了格式:
<TextView
android:id="@+id/text_receipt"
android:layout_width="wrap_content"
android:layout_height="match_parent"
style="@style/popUpReceiptText"
android:text="@string/popup_detail_description_default"
android:gravity="left"
android:layout_gravity="center_horizontal"/>
Android 设备默认不使用等宽字体,因此即使控制间距,也很难在同一个 TextView 中左右对齐。
您可以通过更改布局来解决此问题。一个想法是在 RelativeLayout
.
alignParentLeft=true
,另一个带有 alignParentRight=true
您可以尝试使用表格布局,而不是使用 Textview,它会自动对齐行和列中的值。
对我来说是正确答案,而且其实很简单我早该发现的:
我简单补充了:
android:typeface="monospace"
到我的 TextView