web-dev-qa-db-ja.com

androidでRecyclerviewのアイテム間の仕切りを削除する方法

recyclerViewのアイテム間の仕切り(スペース)を削除したい

アイテムビューのbackgroundRecyclerViewWhiteに設定してみてください。ただし、それを修正する方法は機能しませんか?

アイテムビュー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());

enter image description here

10
AndroSco

最初にRecyclerViewを定義します。

RecyclerView recycle =(RecyclerView)findViewById(R.id.recyclerView);

そしてあなたの活動でこの方法を使用してください:

recycle.addItemDecoration(new DividerItemDecoration(context, 0));
16
nima barati

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
        }
    });
7

あなたのコードで以下のコード行を使用しないでください、それは問題を解決します

groceryRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity()、LinearLayoutManager.HORIZONTAL));

または

recycle.addItemDecoration(new DividerItemDecoration(context、0));

1
Kishore Reddy

追加

Android:divider="@null"
Android:dividerHeight="0dp"

recyclerView xmlに。

0
loic .B

問題は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"
0
Android Team