詹子聪 5 gadi atpakaļ
vecāks
revīzija
ffc255e2a6

+ 4 - 3
app/src/main/java/com/itant/shibei/ui/home/coupon/TemplateFragment.java

@@ -15,6 +15,7 @@ import com.itant.shibei.base.ITopActionListener;
 import com.itant.shibei.tool.DataTool;
 import com.itant.shibei.ui.function.FunctionFragment;
 import com.itant.shibei.ui.mine.coupon.AddCouponActivity;
+import com.itant.shibei.widget.NormalDividerItemDecoration;
 import com.itant.shibei.widget.bottomlistener.OnRcvScrollListener;
 import com.miekir.common.utils.ToastTool;
 import com.miekir.mvp.presenter.InjectPresenter;
@@ -65,9 +66,9 @@ public class TemplateFragment extends BaseMVPFragment implements ITemplateView<C
         LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
         rv_template.setLayoutManager(layoutManager);
 
-        //int dividerWidth = (int) getResources().getDimension(R.dimen.padding_full_width);
-        //DividerItemDecoration decoration = new DividerItemDecoration(dividerWidth);
-        //rv_template.addItemDecoration(decoration);
+        int dividerWidth = (int) getResources().getDimension(R.dimen.margin_default);
+        NormalDividerItemDecoration decoration = new NormalDividerItemDecoration(dividerWidth);
+        rv_template.addItemDecoration(decoration);
         mAdapter = new TemplateAdapter(getActivity(), mCouponBeanList);
         mAdapter.setCouponLongClickListener(this::showAdminDialog);
         rv_template.setAdapter(mAdapter);

+ 54 - 0
app/src/main/java/com/itant/shibei/widget/NormalDividerItemDecoration.java

@@ -0,0 +1,54 @@
+package com.itant.shibei.widget;
+
+import android.graphics.Rect;
+import android.view.View;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+/**
+ * 均等分割线
+ */
+public class NormalDividerItemDecoration extends RecyclerView.ItemDecoration {
+    private int halfSpace;
+
+    public NormalDividerItemDecoration(int space) {
+        this.halfSpace = space / 2;
+    }
+
+    @Override
+    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+        super.getItemOffsets(outRect, view, parent, state);
+        /*if (parent.getPaddingLeft() != halfSpace) {
+            parent.setPadding(halfSpace, halfSpace, halfSpace, halfSpace);
+            parent.setClipToPadding(false);
+        }*/
+
+        /*outRect.left = halfSpace;
+        outRect.right = halfSpace;
+        outRect.top = halfSpace;
+        if (parent.getChildAdapterPosition(view) == parent.getAdapter().getItemCount() - 1) {
+            outRect.bottom = halfSpace;
+        } else {
+            outRect.bottom = 0;
+        }*/
+
+        /*parent.setClipToPadding(false);
+        if (parent.getChildAdapterPosition(view) != parent.getAdapter().getItemCount() - 1) {
+            parent.setPadding(halfSpace, halfSpace, halfSpace, 0);
+        } else {
+            parent.setPadding(halfSpace, halfSpace, halfSpace, halfSpace);
+        }*/
+
+        // Rect outRect表示 item 的上下左右所留下的边距。其中 outRect 的 left,top,right,bottom 即为 item 四周留下的边距的距离,默认都为 0 ;
+        // 让分割线一致
+        parent.setClipToPadding(false);
+        outRect.left = halfSpace;
+        outRect.top = halfSpace;
+        outRect.right = halfSpace;
+        if (parent.getChildAdapterPosition(view) == parent.getAdapter().getItemCount() - 1) {
+            outRect.bottom = halfSpace;
+        } else {
+            outRect.bottom = 0;
+        }
+    }
+}

+ 1 - 4
app/src/main/res/layout/item_template.xml

@@ -2,10 +2,7 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:layout_marginTop="@dimen/margin_s"
-    android:layout_marginStart="@dimen/margin_ss"
-    android:layout_marginEnd="@dimen/margin_ss">
+    android:orientation="vertical">
 
     <View
         android:layout_width="match_parent"