Разделитель разделителя Listview

Я пытаюсь установить разницу в делитель listview.
Разделитель является пунктирной линией:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >
    <stroke
        android:dashGap="1dp"
        android:dashWidth="1.5dp"
        android:width="1dp"
        android:color="#FF404040" />

    <size android:height="3dp" />

</shape>

и a listview, где я устанавливаю разделитель

<ListView
    android:id="@+id/lv_news_feed_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white"
    android:divider="@drawable/ch_dashed_line_divider"
    />

но я хочу, чтобы разделитель поля слева и справа. Я также попытался установить дополнение к форме, но listview игнорирует дополнение.

    <padding
        android:bottom="15dp"
        android:left="15dp"
        android:right="15dp"
        android:top="15dp" />

Есть ли возможность установить маркер для разделителя listview - за исключением getView() адаптера?

Ответы

Ответ 1

Вставка - это способ пойти

<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="15dp"
    android:insetRight="15dp" >

    <shape
        android:shape="line" >
        <stroke
            android:dashGap="1dp"
            android:dashWidth="1.5dp"
            android:width="1dp"
            android:color="#FF404040" />

            <size android:height="3dp" />

    </shape>

</inset>

Ответ 2

Используйте 'inset'.....

(list_divider.xml)

<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="50dp"
    android:insetRight="50dp" >

 <shape>
    <solid android:color="@color/orange" />
    <corners android:radius="2.0dip" />
</shape>

</inset>

и в вашем представлении списка добавьте вот так...

<ListView
    android:dividerHeight="2dp"
    android:divider="@drawable/list_divider"
    ...
/>

вы можете установить значение вставки по желанию...

Ответ 3

Вы можете использовать следующую идею:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <solid android:color="@color/table_background"/>
    </shape>
</item>
<item android:left="2dp" android:right="2dp">
    ... your shape here ...
</item> </layer-list>

Это работает для меня. Надеюсь, это поможет.

Ответ 4

U может использовать Gradient, чтобы получить правое и левое поле вместо штриха. Попробуйте этот образец, который он запускает и заканчивается черным, в центре вы получите белый цвет.. Похоже, что у вас заданный запас

 <gradient android:startColor="#000000" android:centerColor="#ffffff"
    android:endColor="#000000" />

Ответ 5

Я не верю, что это возможно:/Если вы добавите свой собственный чертеж в нижней части каждого элемента списка и удалите разделитель ListViews, вы можете его настроить, но вы хотите:)

Создайте папку res/drawable и создайте новый xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#666666"></solid>

</shape>

.. Затем используйте этот элемент в элементе списка.

Или очень быстрый и грязный способ создать cc для создания тонкого LinearLayout (или другого макета) с цветным фоном в нижней части элемента списка, чтобы подделать настраиваемый разделитель ListView.

Не правильное решение, просто некоторые идеи fixit;)