RecyclerViewを使用してアイテムのリストを表示していますが、アイテム間のデフォルトの間隔を削除する必要があります。 LinearLayoutManagerでRecyclerView.LayoutParamsを設定し、マージンをゼロに設定しようとしていますが、うまくいきませんでした!
ここに私のコードがあります:
layout/fragment_recycler.xml
<Android.support.v4.widget.SwipeRefreshLayout
Android:id="@+id/freshSwipeView"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<Android.support.v7.widget.RecyclerView
Android:id="@+id/freshRecyclerView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:scrollbars="vertical" />
</Android.support.v4.widget.SwipeRefreshLayout>
layout/cardview_recycler.xml
<Android.support.v7.widget.CardView
Android:id="@+id/card_view"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<LinearLayout
Android:id="@+id/content"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="horizontal">
<mypackagename.ui.view.RecyclingImageView
Android:id="@+id/avatar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:scaleType="fitXY"
Android:adjustViewBounds="true"
Android:src="@drawable/img_no_avatar" />
<TextView
Android:id="@+id/username"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center_vertical"
Android:singleLine="true"
Android:ellipsize="end"
Android:padding="@dimen/spacing"
Android:textColor="@color/black"
Android:layout_alignParentBottom="true"
Android:textSize="@dimen/text_smallest" />
</LinearLayout>
</Android.support.v7.widget.CardView>
RecyclerFragment.Java
/* Setting Layout Manager */
mLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
RecyclerView.LayoutParams params = new RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 0);
mLayoutManager.canScrollVertically();
mRecyclerView.setLayoutManager(mLayoutManager);
私は助けが必要です...
layout/cardview_recycler.xml、Android不要なスペースを置く
<LinearLayout
Android:id="@+id/content"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="horizontal">
<mypackagename.ui.view.RecyclingImageView
Android:id="@+id/avatar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:scaleType="fitXY"
Android:adjustViewBounds="true"
Android:src="@drawable/img_no_avatar" />
<TextView
Android:id="@+id/username"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center_vertical"
Android:singleLine="true"
Android:ellipsize="end"
Android:padding="@dimen/spacing"
Android:textColor="@color/black"
Android:layout_alignParentBottom="true"
Android:textSize="@dimen/text_smallest" />
</LinearLayout>
他はすべてそのままです
Android:layout_height = wrap_contentをmatch_parentの代わりにアイテムルートレイアウトに指定します
<Android.support.v7.widget.CardView
Android:id="@+id/card_view"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
-------
-------
</Android.support.v7.widget.CardView>
私の場合、以下のコードが機能しました
<Android.support.v7.widget.RecyclerView
Android:id="@+id/freshRecyclerView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:clipToPadding="false"
Android:scrollbars="vertical" />
行setVisibiilty(gone)
を削除します
削除した後は完全に動作します。