Разделители разделов Android GridView

Я хотел бы узнать простейший способ рисования разделителей между элементами (в настоящее время textviews) в GridView. Единственный способ, которым я могу думать, – это нарисовать границы вокруг этих текстовых просмотров, поэтому, когда они объединены, они выглядят как непрерывные горизонтальные и вертикальные разделители.

Есть setDivider () для listviews, но не gridviews?

Благодарю.

К сожалению, посмотрев исходный код, я не видел никакого простого способа добавления границ, кроме подхода добавления границ в каждую ячейку. В качестве ссылки я опубликую свое решение здесь.

list_item.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:background="@drawable/list_selector"> <!-- Cell contents --> </LinearLayout> 

list_selector.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable="@drawable/item_border_selected" /> <item android:state_pressed="true" android:drawable="@drawable/item_border_selected" /> <item android:drawable="@drawable/item_border" /> </selector> 

item_border.xml

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@android:color/transparent" /> <stroke android:width="1px" android:color="@color/list_divider" /> </shape> 

item_border_selected.xml

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/list_select" /> <stroke android:width="1px" android:color="@color/list_divider" /> </shape> 

items_view.xml

 <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="-1px" android:layout_marginRight="-1px" android:listSelector="@android:color/transparent" /> 

Поскольку все строки удваиваются по мере их присоединения к соседним ячейкам, я сделал размер разделителя 1px вместо 1dp, поэтому на некоторых экранах он не выглядит слишком большим. Кроме того, я сделал сетку с отрицательными полями, чтобы скрыть линии с обеих сторон. Я надеюсь, что это помогает кому-то.

Если вам нужны только простые линии в качестве границ, гораздо проще, чем цвет фона для GridView и правильного заполнения и интервала:

 <GridView (...) android:background="@color/LightGold" android:listSelector="@android:color/transparent" android:horizontalSpacing="1dip" android:verticalSpacing="1dip" android:paddingLeft="1dip" android:paddingTop="1dip" />