我有两个彼此相邻的TableLayouts。它们显示类似的信息,因此相应的行需要彼此相邻。即左表的第三行需要与右表的第三行水平对齐。 (我使用两个表,所以我可以在它们之间得到一条垂直线以及使代码更有条理的其他一些原因。)当我开始时,两个表都使用TableRows中的TextViews来显示数据,所有内容都很好地排列。现在,我需要右边的表格在TableRows中的单元格旁边有复选标记,以显示它们已经完成,所以在右表中,我从TextViews切换到CheckedTextViews,它工作得很好,除了它们之间有更多的空白区域。比左边的表仍然使用TextViews的行。我已经尝试将CheckedTextView及其drawable的填充设置为零,但它似乎没有任何效果。
以下是我应用于CheckedTextViews的样式:
<style name="Check" >
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:gravity">center_vertical|left</item>
<item name="android:drawablePadding">0dp</item>
<item name="android:padding">0dp</item>
<item name="android:checkMark">?android:attr/listChoiceIndicatorMultiple</item>
</style>
以下是我的TableLayout中的示例行:
<TableRow>
<CheckedTextView
android:id="@+id/j_elective_01"
style="@style/Check"/>
<CheckedTextView
android:id="@+id/j_elective_02"
style="@style/Check"/>
</TableRow>
我已经考虑过用于复选框的图标有很多内置空格的可能性,我在...平台/ android-12 / data / res / drawable中看了checkbox_on_background.png和checkbox_off_background.png -hdpi /似乎并非如此。
我想避免在左表条目中添加填充以排序,因为我不想浪费屏幕空间。我只是想找到一种方法来摆脱右表中行之间的一些空间。