Невозможно установить цвет разделителя в макете таблицы - PullRequest
0 голосов
/ 29 декабря 2018

Мой макет таблицы такой, как показано ниже, я использовал приведенный ниже код для установки разделителей между строками и их цветами, я вижу в своем дизайне, что разделители были установлены, но не цвет разделителя!

Посоветуйте, пожалуйста, как я могу установить цвет разделителя между строками?

Код для установки разделителей в макете таблицы и их цвета.

 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 голосов
/ 29 декабря 2018

Что ж, вы можете создать отрисовку '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"
0 голосов
/ 29 декабря 2018

Попробуйте использовать рисованную фигуру в качестве разделителя для макета таблицы.

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"
0 голосов
/ 29 декабря 2018

Я не вижу проблемы в вашем коде.Но вот точный пример.

Для разделителей между строками:

<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> используется для размещения делителя между его прямыми дочерними элементами, т.е. Columns

...