我想删除RecyclerView项目之间的分隔符(空格)
因此,请尝试将项目视图background
和RecyclerView
设置为White
,但它不起作用
如何解决?
项目视图XML
:
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/white"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<LinearLayout
android:background="@android:color/white"
android:paddingLeft="@dimen/footer_item_padding"
android:paddingRight="@dimen/footer_item_padding"
android:orientation="vertical"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/img_avatar_category_item_adapter"
android:contentDescription="@string/app_name"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:layout_width="@dimen/image_width_category_adapter"
android:layout_height="wrap_content"/>
</LinearLayout>
</android.support.v7.widget.CardView>
活动XML:
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_categories_main_activity"
android:background="@android:color/white"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Activity
上课:
rv_categories.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
rv_categories.setItemAnimator(new DefaultItemAnimator());
答案 0 :(得分:12)
首先定义您的RecyclerView:
RecyclerView recycle =(RecyclerView)findViewById(R.id.recyclerView);
并在您的活动中使用此方法:
recycle.addItemDecoration(new DividerItemDecoration(context, 0));
答案 1 :(得分:7)
您可以使用DividerItemDecoration
类并覆盖其onDraw
方法,不执行任何操作:
mRecyclerView.addItemDecoration(new DividerItemDecoration(mContext, LinearLayoutManager.VERTICAL) {
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
// Do not draw the divider
}
});
答案 2 :(得分:2)
添加
android:divider="@null"
android:dividerHeight="0dp"
到recyclerView xml。
答案 3 :(得分:1)
不要在代码中使用下面的代码行,它解决了iisue
groceryRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(),LinearLayoutManager.HORIZONTAL));
或
recycle.addItemDecoration(new DividerItemDecoration(context,0));
答案 4 :(得分:1)
由于某种原因,其他答案对我不起作用,但是此解决方法确实起作用:
for (int i = 0; i < recyclerView.getItemDecorationCount(); i++) {
if (recyclerView.getItemDecorationAt(i) instanceof DividerItemDecoration)
recyclerView.removeItemDecorationAt(i);
}
答案 5 :(得分:0)
问题在于CardView。
在CardView上设置setPreventCornerOverlap(false)。
或强>
在布局中添加以下行
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/white"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent">
使用以下标记
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
答案 6 :(得分:0)
在某些相关属性中,也可以是海拔高度