无法在表格布局中设置分隔线颜色

时间:2018-12-29 10:04:50

标签: android android-layout android-tablelayout

我的表布局如下所示,我使用下面的代码在行及其颜色之间设置分隔线,在我的设计中可以看到已设置分隔线,但未设置分隔线颜色!

请提出建议,如何设置行之间的分隔线颜色?

用于在表格布局中设置分隔线及其颜色的代码。

 android:showDividers="middle"
 android:divider="@color/colorAccent"

完整表格布局代码。

        <TableLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/table_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:orientation="vertical"
            android:showDividers="middle"
            android:divider="@color/colorAccent"
            tools:context=".BookAppointment"
            android:stretchColumns="1">


            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/table_row_margin"
                android:orientation="horizontal"
                android:textAlignment="center">

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="@dimen/margin"
                    android:padding="@dimen/padding"
                    android:src="@drawable/india_flag" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout_marginLeft="@dimen/margin"
                    android:textSize="@dimen/cell_text_size" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="@dimen/margin"
                    app:srcCompat="@drawable/chevron_right_24px"
                    android:layout_gravity="center_vertical" />

            </TableRow>



            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/table_row_margin"
                android:orientation="horizontal">

                <ImageView
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="@dimen/margin"
                    android:padding="@dimen/padding"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout_marginLeft="@dimen/margin"
                    android:textSize="@dimen/cell_text_size" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="@dimen/margin"
                    app:srcCompat="@drawable/chevron_right_24px"
                    android:layout_gravity="center_vertical" />
            </TableRow>




        </TableLayout>

3 个答案:

答案 0 :(得分:0)

我在您的代码中看不到问题。但这是一个确切的例子。

用于行之间的分隔线:

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:divider="@color/colorPrimary"
    android:showDividers="middle">

以及列之间的分隔符:

<TableRow
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:divider="@color/colorPrimary"
    android:showDividers="middle">

说明:

<TableLayout>中的分隔符标签用于将分隔符放置在其直接子元素之间,即

<TableRow>中的分隔符标记用于将分隔符放置在其直接子元素之间,即

答案 1 :(得分:0)

您可以创建一个可绘制的“ cell_divider.xml”:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="#f00" />
    </item>
</selector>

比您可以像在分隔器属性中设置drawable一样:

android:divider="@drawable/cell_divider"

答案 2 :(得分:0)

尝试使用可绘制形状作为表格布局的分隔线。

divider_shape.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <inset xmlns:android="http://schemas.android.com/apk/res/android"
 android:insetBottom="2dp"
 android:insetTop="2dp">
 <shape>
    <size android:width="1dp" />
    <solid android:color="#FFCCCCCC" />
 </shape>
 </inset>

并按如下所示将其添加到您的表格布局中

android:divider="@drawable/divider_shape"
android:showDividers="middle"