Как удалить несколько фоновых границ на адаптере RecyclerView в Android?

Я использую RecyclerView с реализацией GridLayoutManager spanCount 3, и проблема заключается в том, что фоновая граница отображается несколько раз, см. снимок экрана и макет. Но мне нужно сделать единую рамку с элементом строки на этом адаптере. Так что делитесь своим опытом и заранее спасибо!

введите здесь описание изображения

И это строка RecyclerView.Adapter xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linSubCat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:background="@drawable/shape_sub_category"
android:gravity="center"
android:orientation="vertical"
android:padding="5dp">

<ImageView
    android:id="@+id/subcategory_image_listview"
    android:layout_width="45dp"
    android:layout_height="45dp"
    android:layout_gravity="center" />

<TextView
    android:id="@+id/subcategory_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_margin="3dp"
    android:gravity="center|center_vertical"
    android:padding="3dp"
    android:textColor="@color/category_color" /></LinearLayout>

И файл shape_sub_category.xml границы фона.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<stroke
    android:width="0.5dp"
    android:color="@color/category_color" />
<solid android:color="@android:color/transparent" /></shape>

person NAP Developer    schedule 12.03.2018    source источник
comment
просто удалите рисуемый фон, дайте поле/отступ до 2 или 3dp и цвет фона серый   -  person Vidhi Dave    schedule 12.03.2018
comment
Пожалуйста, опубликуйте свой ответ по коду.   -  person NAP Developer    schedule 12.03.2018
comment
Проверьте мой ответ   -  person Vidhi Dave    schedule 12.03.2018
comment
В порядке Хорошо. !!!!   -  person NAP Developer    schedule 12.03.2018
comment
Можете ли вы опубликовать ожидаемое выходное изображение?   -  person ADM    schedule 12.03.2018
comment
@ADM Проблема с фоновой границей отображается несколько раз.   -  person NAP Developer    schedule 12.03.2018
comment
Вы говорите, что граница перекрывается на соседних краях? Или фоновое изображение?   -  person ADM    schedule 12.03.2018
comment
Да.. Граница перекрывается. Итак, как я могу решить.   -  person NAP Developer    schedule 12.03.2018


Ответы (1)


вы можете использовать ItemDecoration

https://developer.android.com/reference/android/support/v7/widget/DividerItemDecoration.html

https://gist.github.com/lapastillaroja/858caf1a82791b6c1a36

см. здесь

образец

int numColumns = 2;

Drawable horizontalDivider = ContextCompat.getDrawable(this, R.drawable.divider_horizontal);
Drawable verticalDivider = ContextCompat.getDrawable(this, R.drawable.divider_vertical);

recyclerView.setLayoutManager(new GridLayoutManager(..., numColumns));

recyclerView.addItemDecoration(new GridDividerItemDecoration(horizontalDivider, verticalDivider, numColumns));

Горизонтальный:divider_horizontal.xml

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="#FF0000" />

Вертикаль:divider_vertical.xml

<View
    android:layout_width="1dp"
    android:layout_height="fill_parent"
    android:background="#FF0000" />
person SaravInfern    schedule 12.03.2018
comment
Пожалуйста, дайте мне код формы делителя_горизонтального и делителя_вертикального. - person NAP Developer; 12.03.2018
comment
Нужен рисуемый xml-файл, а не код представления макета xml. Дайте мне другое решение. - person NAP Developer; 13.03.2018