詹子聪 6 лет назад
Родитель
Сommit
86a5c533fd

+ 5 - 0
app/src/main/java/com/itant/shibei/ui/home/GoodsFragment.java

@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
 import com.itant.shibei.R;
 import com.itant.shibei.adapter.GoodsAdapter;
 import com.itant.shibei.bean.GoodsBean;
+import com.itant.shibei.widget.DividerItemDecoration;
 import com.miekir.mvp.presenter.InjectPresenter;
 import com.miekir.mvp.view.BaseMVPFragment;
 
@@ -49,6 +50,10 @@ public class GoodsFragment extends BaseMVPFragment implements IGoodsView {
         // 必须要设置LayoutManager,否则RecyclerView不知道要使用什么布局,从而在界面上不显示
         LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
         rv_goods.setLayoutManager(layoutManager);
+
+        int dividerWidth = (int) getResources().getDimension(R.dimen.margin_s);
+        DividerItemDecoration decoration = new DividerItemDecoration(dividerWidth);
+        rv_goods.addItemDecoration(decoration);
         mAdapter = new GoodsAdapter(getActivity(), R.layout.item_goods, mGoodsList);
         rv_goods.setAdapter(mAdapter);
 

+ 36 - 0
app/src/main/java/com/itant/shibei/widget/DividerItemDecoration.java

@@ -0,0 +1,36 @@
+package com.itant.shibei.widget;
+
+import android.graphics.Rect;
+import android.view.View;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+/**
+ * 均等分割线
+ */
+public class DividerItemDecoration extends RecyclerView.ItemDecoration {
+    private int halfSpace;
+
+    public DividerItemDecoration(int space) {
+        this.halfSpace = space / 2;
+    }
+
+    @Override
+    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+
+        if (parent.getPaddingLeft() != halfSpace) {
+            parent.setPadding(halfSpace, halfSpace, halfSpace, halfSpace);
+            parent.setClipToPadding(false);
+        }
+
+        outRect.top = halfSpace;
+        outRect.left = halfSpace;
+        outRect.right = halfSpace;
+
+        if (parent.getChildAdapterPosition(view) == parent.getAdapter().getItemCount() - 1) {
+            outRect.bottom = halfSpace;
+        } else {
+            outRect.bottom = 0;
+        }
+    }
+}

+ 0 - 3
app/src/main/res/layout/item_goods.xml

@@ -8,9 +8,6 @@
         android:id="@+id/cv_goods"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginStart="@dimen/margin_s"
-        android:layout_marginTop="@dimen/margin_ss"
-        android:layout_marginEnd="@dimen/margin_s"
         android:clickable="true"
         android:focusable="true"
         android:foreground="?android:attr/selectableItemBackground"