android表格垂直列分隔符
Posted
技术标签:
【中文标题】android表格垂直列分隔符【英文标题】:android table vertical column divider 【发布时间】:2021-08-13 12:26:16 【问题描述】:我正在尝试在 android 表格布局中的列之间添加垂直分隔线,并尝试了多种解决方案,但没有奏效。这是我的表格代码的结果图像
出于某种原因,即使提到宽度,视图也会占用一整列来显示分隔线
表格代码
<TableLayout
android:layout_
android:layout_
android:padding="20dp">
<TableRow
android:layout_
android:layout_>
<TextView
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:text="@string/item_code"
android:textStyle="bold" />
<View
android:layout_
android:layout_
android:background="@color/red_" />
<TextView
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:text="@string/item_desc"
android:textStyle="bold" />
</TableRow>
<View
android:layout_
android:background="@color/red_" />
<TableRow
android:layout_
android:layout_
android:layout_marginTop="10dp">
<TextView
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:text="SFT001" />
<View
android:layout_
android:layout_
android:background="@color/red_" />
<TextView
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:text="Full table" />
</TableRow>
</TableLayout>
【问题讨论】:
【参考方案1】:我发现在单个单元格上使用背景来实现分隔线更容易。
例如创建一个类似于下面的drawable,称为right_border.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@color/red" />
</shape>
</item>
<item android:right="3dp">
<shape android:shape="rectangle">
<solid android:color="@color/white" />
</shape>
</item>
</layer-list>
(这是一个红色矩形,顶部有一个白色矩形,但红色的 3dp 暴露在外)
然后在单元格上(TextView)
<TextView
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:text="@string/item_code"
android:textStyle="bold"
android:background="@drawable/right_border"/>
其他带有矩形和矩形组合的可绘制对象可以为您提供完整的边框或任何边。
【讨论】:
是的,这是可行的,但所有行的对齐方式都是歪斜的以上是关于android表格垂直列分隔符的主要内容,如果未能解决你的问题,请参考以下文章