From abce02c7a61820f5d580f87364d542e817be429c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 06 七月 2021 15:22:11 +0800
Subject: [PATCH] 1.1.1完善

---
 app/src/main/java/com/tejia/lijin/app/ui/recommend/RecommendFragment.java |  335 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 239 insertions(+), 96 deletions(-)

diff --git a/app/src/main/java/com/tejia/lijin/app/ui/recommend/RecommendFragment.java b/app/src/main/java/com/tejia/lijin/app/ui/recommend/RecommendFragment.java
index 470a65c..254bbef 100644
--- a/app/src/main/java/com/tejia/lijin/app/ui/recommend/RecommendFragment.java
+++ b/app/src/main/java/com/tejia/lijin/app/ui/recommend/RecommendFragment.java
@@ -6,6 +6,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.graphics.Canvas;
+import android.graphics.Color;
 import android.graphics.Rect;
 import android.graphics.drawable.AnimationDrawable;
 import android.graphics.drawable.GradientDrawable;
@@ -37,6 +38,7 @@
 import com.tejia.lijin.app.BasicTextHttpResponseHandler;
 import com.tejia.lijin.app.R;
 import com.tejia.lijin.app.ShoppingApi;
+import com.tejia.lijin.app.ShoppingApplication;
 import com.tejia.lijin.app.entity.FirstCategory;
 import com.tejia.lijin.app.entity.HomeBanner;
 import com.tejia.lijin.app.entity.JumpDetail;
@@ -45,6 +47,8 @@
 import com.tejia.lijin.app.entity.RecommendHot;
 import com.tejia.lijin.app.entity.SpecialOffer2;
 import com.tejia.lijin.app.entity.TaoBaoGoodsBrief;
+import com.tejia.lijin.app.entity.hongbao.LijinSendInfo;
+import com.tejia.lijin.app.ui.dialog.RecommendHbDialog;
 import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
 import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
 import com.tejia.lijin.app.ui.timeLimitedSpike.TimeLimitedSpikeActivity;
@@ -55,7 +59,9 @@
 import com.tejia.lijin.app.util.user.UserUtil;
 import com.wpc.library.RetainViewFragment;
 import com.wpc.library.content.ConnectivityChangeHelper;
+import com.wpc.library.recyclerviewhelper.DividerItemDecoration;
 import com.wpc.library.util.NetUtils;
+import com.wpc.library.util.ScreenUtils;
 import com.wpc.library.util.SystemCommon;
 import com.wpc.library.util.cache.DiskLruCache;
 import com.wpc.library.util.common.DimenUtils;
@@ -92,6 +98,7 @@
  */
 
 public class RecommendFragment extends RetainViewFragment implements View.OnClickListener {
+    private static final String TAG = "RecommendFragment";
     private LinearLayout ll_fragment_activity, ll_special_offer, ll_limit_time_buy, ll_jinbi_exchange_buy;
     private MyGridView gv_limit_time_goods, gv_jinbi_exchange_goods;
     private SwipeRefreshLayout rl_first_page;
@@ -115,6 +122,7 @@
     private List<SpecialOffer2> mSpecial3s = new ArrayList<>();
     private List<HomeBanner> mBanners2 = new ArrayList<>();
     private List<TaoBaoGoodsBrief> mList = new ArrayList<>();
+    private List<TaoBaoGoodsBrief> mHotGoodsList = new ArrayList<>();
     private List<String> lList = new ArrayList<>();
     private List<String> lList2 = new ArrayList<>();
 
@@ -127,6 +135,12 @@
     private boolean isCache = false;
     private boolean isLoad = false;
     ShapeLoadingDialog pd = null;
+
+    //鐑棬鍟嗗搧
+    private LinearLayout ll_hot_goods;
+    private RecyclerView rv_hot_goods;
+    private TextView tv_hot_goods_more;
+    private RecommendHotGoodsAdapter mRecommendHotGoodsAdapter;
 
 
     TextView
@@ -170,6 +184,7 @@
     public void onCreateView(View contentView, Bundle savedInstanceState) {
         init(contentView);
         initCacheData();
+
     }
 
     @Override
@@ -215,36 +230,31 @@
             super.getItemOffsets(outRect, view, parent, state);
             int index = parent.getChildAdapterPosition(view);
             int total = parent.getAdapter().getItemCount();
-            int minWidth = DimenUtils.dipToPixels(6, view.getContext());
-            if (index % 4 == 0) {
-                outRect.left = 0; //绗竴鍒楀乏杈硅创杈�
-                outRect.right = minWidth * 3;
-            } else if (index % 4 == 1) {
-                outRect.left = minWidth * 1;
-                outRect.right = minWidth * 2;
-            } else if (index % 4 == 2) {
-                outRect.left = minWidth * 2;
-                outRect.right = minWidth * 1;
+            int space = RecommendCircleSpecialAdapter.SPCAE_DP;
+
+            if (index % 2 == 0) {
+                outRect.bottom = DimenUtils.dipToPixels(space, view.getContext());
+                Log.i(TAG, circleSpecials.get(index).getName());
+            } else
+                outRect.bottom = 0;
+
+            outRect.left = 0;
+
+            if ((index == total - 1) || (index == total - 2 && total % 2 == 0)) {
+                outRect.right = 0;
             } else {
-                outRect.right = 0; //绗竴鍒楀乏杈硅创杈�
-                outRect.left = minWidth * 3;
+                outRect.right = DimenUtils.dipToPixels(space, view.getContext());
             }
 
-            int lastRow = total / 4;
-
-            if (lastRow != index / 4) {
-                outRect.bottom = minWidth * 4;
-            }
         }
     };
 
-    private void init(View contentView) {
-        rv_recommend_goods = contentView.findViewById(R.id.rv_recommend_goods);
-        rl_first_page = contentView.findViewById(R.id.rl_first_page);
-        iv_slid_top = contentView.findViewById(R.id.iv_slid_top);
+    private View initHeader() {
         final View top = LayoutInflater.from(rv_recommend_goods.getContext())
                 .inflate(R.layout.item_recommend_top, null);
-        top.setBackground(HomeUIUtil.getHomeTopBg("#FF227B", "#FF2A3E"));
+
+
+        top.setBackground(HomeUIUtil.getHomeTopBg(getContext()));
         ll_fragment_activity = top.findViewById(R.id.ll_fragment_activity);
         ll_special_offer = top.findViewById(R.id.ll_special_offer);
         ll_limit_time_buy = top.findViewById(R.id.ll_limit_time_buy);
@@ -271,17 +281,57 @@
         sv_hot = top.findViewById(R.id.sv_hot);
         iv_hot_img = top.findViewById(R.id.iv_hot_img);
 
+        //灏忛粍鏉�
+        tv_notice_content = top.findViewById(R.id.tv_notice_content);
+        ll_notice = top.findViewById(R.id.ll_notice);
+        iv_close = top.findViewById(R.id.iv_close);
+
+        seekBar = top.findViewById(R.id.slide_indicator_point);
+        seekBar.setPadding(0, 0, 0, 0);
+        seekBar.setThumbOffset(0);
+
+        ll_hot_goods = top.findViewById(R.id.ll_hot_goods);
+        rv_hot_goods = top.findViewById(R.id.rv_hot_goods);
+        tv_hot_goods_more = top.findViewById(R.id.tv_hot_goods_more);
+
+        rv_hot_goods.addItemDecoration(new RecyclerView.ItemDecoration() {
+            @Override
+            public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
+                outRect.right = DimenUtils.dip2px(getContext(), 10);
+                int position = parent.getChildAdapterPosition(view);
+                if (position == mHotGoodsList.size() - 1) {
+                    outRect.right = 0;
+                }
+//                super.getItemOffsets(outRect, view, parent, state);
+            }
+        });
+        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
+        linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
+        rv_hot_goods.setLayoutManager(linearLayoutManager);
+        return top;
+    }
+
+
+    private void init(View contentView) {
+        rv_recommend_goods = contentView.findViewById(R.id.rv_recommend_goods);
+        rl_first_page = contentView.findViewById(R.id.rl_first_page);
+        iv_slid_top = contentView.findViewById(R.id.iv_slid_top);
+
+        View top = initHeader();
+
         iv_hot_img.setOnClickListener(this);
 
         ll_no_net = contentView.findViewById(R.id.ll_no_net);
         ll_no_data = contentView.findViewById(R.id.ll_no_data);
         ll_request_failture = contentView.findViewById(R.id.ll_request_failture);
 
+
         contentView.findViewById(R.id.tv_net_setting).setOnClickListener(this);
         contentView.findViewById(R.id.tv_refresh).setOnClickListener(this);
         iv_slid_top.setOnClickListener(this);
         ll_limit_time_buy.setOnClickListener(this);
         ll_jinbi_exchange_buy.setOnClickListener(this);
+
 
         mChangeHelper = new ConnectivityChangeHelper(ll_no_data.getContext(),
                 new ConnectivityChangeHelper.OnConnectivityChangeListener() {
@@ -328,7 +378,7 @@
                     if (last == total - 1 && mList.size() < count && isLoad) {
                         page++;
                         isLoad = false;
-                        tv_loading.setText("姝e湪鍔犺浇鏇村鏁版嵁");
+                        tv_loading.setText(getResources().getString(R.string.loading_more_text));
                         iv_loading.setVisibility(View.VISIBLE);
                         guessLikeByDevice();
                     }
@@ -351,27 +401,17 @@
             }
         });
 
-        //灏忛粍鏉�
-        tv_notice_content = top.findViewById(R.id.tv_notice_content);
-        ll_notice = top.findViewById(R.id.ll_notice);
-        iv_close = top.findViewById(R.id.iv_close);
+
         getAppPageNotification();
 
         //璁剧疆鍒楄〃鍙互姘村钩婊戝姩锛屼袱琛�
-        GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 4, GridLayoutManager.VERTICAL, false) {
-            @Override
-            public boolean canScrollVertically() {
-                return false;
-            }
-        };
+        GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 2, GridLayoutManager.HORIZONTAL, false);
         rv_special_offer.setLayoutManager(layoutManager);
         specialAdapter2 = new RecommendCircleSpecialAdapter(getActivity(), circleSpecials);
         rv_special_offer.setAdapter(specialAdapter2);
 
-        seekBar = top.findViewById(R.id.slide_indicator_point);
-        seekBar.setPadding(0, 0, 0, 0);
-        seekBar.setThumbOffset(0);
-        seekBar.setVisibility(View.GONE);
+
+//        seekBar.setVisibility(View.GONE);
 
         rv_special_offer.addItemDecoration(circleSpecialItemDecoration);
 
@@ -379,7 +419,7 @@
             @Override
             public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                 super.onScrolled(recyclerView, dx, dy);
-//                //鏄剧ず鍖哄煙鐨勯珮搴︺��
+//                //鏄剧ず鍖哄煙鐨勫銆�
                 int extent = rv_special_offer.computeHorizontalScrollExtent();
                 //鏁翠綋鐨勯珮搴︼紝娉ㄦ剰鏄暣浣擄紝鍖呮嫭鍦ㄦ樉绀哄尯鍩熶箣澶栫殑銆�
                 int range = rv_special_offer.computeHorizontalScrollRange();
@@ -434,6 +474,27 @@
         goodsAdapter.addHeaderView(top);
         initTimeHandle();
         setBannerData();
+    }
+
+
+    /**
+     * 鍒濆鍖栫儹闂ㄥ晢鍝�
+     */
+    private void setHotGoods() {
+        for (TaoBaoGoodsBrief goodsBrief : mHotGoodsList) {
+            goodsBrief.setHasCoupon(false);
+        }
+        if (mRecommendHotGoodsAdapter == null) {
+            mRecommendHotGoodsAdapter = new RecommendHotGoodsAdapter(getContext(), mHotGoodsList, "jingxuan");
+            rv_hot_goods.setAdapter(mRecommendHotGoodsAdapter);
+        } else {
+            rv_hot_goods.getAdapter().notifyDataSetChanged();
+        }
+        if (mHotGoodsList.size() == 0) {
+            ll_hot_goods.setVisibility(View.GONE);
+        } else {
+            ll_hot_goods.setVisibility(View.VISIBLE);
+        }
     }
 
 
@@ -708,13 +769,7 @@
                         circleSpecials.addAll(list2);
                         specialAdapter2.notifyDataSetChanged();
 
-                        if (circleSpecials.size() > 10) {
-                            GradientDrawable gradientDrawable = (GradientDrawable) seekBar.getThumb();
-                            //鏍规嵁鍒楄〃鐨勪釜鏁帮紝鍔ㄦ�佽缃父鏍囩殑澶у皬锛岃缃父鏍囩殑鏃跺�欙紝progress杩涘害鐨勯鑹茶缃负鍜宻eekbar鐨勯鑹茶缃殑涓�鏍风殑锛屾墍浠ュ氨涓嶆樉绀鸿繘搴︿簡銆�
-                            gradientDrawable.setSize(DimenUtils.dip2px(getContext(), 50) * 5 / (circleSpecials.size() / 2)
-                                    , DimenUtils.dip2px(getContext(), 4));
-                        }
-//                        seekBar.setVisibility(mSpecial2s.size() <= 10 ? View.GONE : View.VISIBLE);
+                        initSeekBar();
 
                         if (list2 == null || list2.size() == 0) {
                             rv_special_offer.setVisibility(View.GONE);
@@ -758,7 +813,7 @@
                             } else {
                                 fl_fragment_activity.setVisibility(View.VISIBLE);
                             }
-                            showActivity1(list3, url);
+                            showBigActivity(list3, url);
                         }
 
                     }
@@ -824,6 +879,40 @@
                         snapshot.close();
                     }
                 }
+            }
+            {
+                //浠婃棩鐖嗘
+
+                DiskLruCache.Snapshot snapshot = null;
+                try {
+                    snapshot = cache.get(getKey("hotSales"));
+                    if (snapshot != null) {
+                        final Gson gson = new GsonBuilder().serializeNulls().create();
+                        final JSONObject hotSales = new JSONObject(snapshot.getString(0));
+                        List<TaoBaoGoodsBrief> list = gson.fromJson(hotSales.
+                                optJSONArray("goodsList").toString(), new TypeToken<List<TaoBaoGoodsBrief>>() {
+                        }.getType());
+                        mHotGoodsList.clear();
+                        mHotGoodsList.addAll(list);
+                        tv_hot_goods_more.setOnClickListener(new View.OnClickListener() {
+                            @Override
+                            public void onClick(View v) {
+                                JumpDetail jumpDetail = gson.fromJson(hotSales.optJSONObject("jumpDetail").toString(), JumpDetail.class);
+                                com.alibaba.fastjson.JSONObject params = com.alibaba.fastjson.JSONObject.parseObject(hotSales.optJSONObject("params").toString());
+                                JumpActivityUtil.jumpPage(getActivity(), jumpDetail, params);
+                            }
+                        });
+                    }
+                } catch (IOException e) {
+                    e.printStackTrace();
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                } finally {
+                    if (snapshot != null) {
+                        snapshot.close();
+                    }
+                }
+                setHotGoods();
             }
         }
     }
@@ -916,6 +1005,16 @@
         sv_hot.removeCallbacks(mAutoScroller3);
     }
 
+    private void initSeekBar() {
+        seekBar.setVisibility(circleSpecials.size() <= 10 ? View.GONE : View.VISIBLE);
+        if (circleSpecials.size() > 10) {
+            GradientDrawable gradientDrawable = (GradientDrawable) seekBar.getThumb();
+            //鏍规嵁鍒楄〃鐨勪釜鏁帮紝鍔ㄦ�佽缃父鏍囩殑澶у皬锛岃缃父鏍囩殑鏃跺�欙紝progress杩涘害鐨勯鑹茶缃负鍜宻eekbar鐨勯鑹茶缃殑涓�鏍风殑锛屾墍浠ュ氨涓嶆樉绀鸿繘搴︿簡銆�
+            gradientDrawable.setSize(DimenUtils.dip2px(getContext(), 50) * 5 / (circleSpecials.size() / 2)
+                    , DimenUtils.dip2px(getContext(), 4));
+        }
+    }
+
 
     private void setGoodsIndex() {
         if (pd == null) {
@@ -926,8 +1025,7 @@
                 && mList.size() == 0) {
             pd.show();
         }
-        String uid = getContext().getSharedPreferences("user", MODE_PRIVATE).getString("uid", "");
-        ShoppingApi.getRecommendIndex(vp_banner.getContext(), uid, new BasicTextHttpResponseHandler() {
+        ShoppingApi.getRecommendIndex(vp_banner.getContext(), UserUtil.getUid(ShoppingApplication.application), new BasicTextHttpResponseHandler() {
             @Override
             public void onFinish() {
                 super.onFinish();
@@ -940,10 +1038,11 @@
             @Override
             public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                 if (jsonObject.optString("code").equalsIgnoreCase("0")) {
+                    JSONObject data = jsonObject.optJSONObject("data");
                     isCache = false;
                     //椤堕儴banner
-                    Gson gson = new GsonBuilder().serializeNulls().create();
-                    List<HomeBanner> list1 = gson.fromJson(jsonObject.optJSONObject("data")
+                    final Gson gson = new GsonBuilder().serializeNulls().create();
+                    List<HomeBanner> list1 = gson.fromJson(data
                                     .optJSONArray("topPicList").toString(),
                             new TypeToken<List<HomeBanner>>() {
                             }.getType());
@@ -955,12 +1054,12 @@
 
                     DiskLruCache.Editor editor0 = cache
                             .edit(getKey("BannerAd"));
-                    editor0.set(0, jsonObject.optJSONObject("data").optJSONArray("topPicList").toString());
+                    editor0.set(0, data.optJSONArray("topPicList").toString());
                     editor0.commit();
 
                     //鍦嗗舰涓撻
                     List<SpecialOffer2> list2 = gson.fromJson(
-                            jsonObject.optJSONObject("data").optJSONObject("arcArea")
+                            data.optJSONObject("arcArea")
                                     .optJSONArray("list").toString(),
                             new TypeToken<List<SpecialOffer2>>() {
                             }.getType());
@@ -969,13 +1068,7 @@
                     }
                     circleSpecials.addAll(list2);
                     specialAdapter2.notifyDataSetChanged();
-//                    seekBar.setVisibility(mSpecial2s.size() <= 10 ? View.GONE : View.VISIBLE);
-                    if (circleSpecials.size() > 10) {
-                        GradientDrawable gradientDrawable = (GradientDrawable) seekBar.getThumb();
-                        //鏍规嵁鍒楄〃鐨勪釜鏁帮紝鍔ㄦ�佽缃父鏍囩殑澶у皬锛岃缃父鏍囩殑鏃跺�欙紝progress杩涘害鐨勯鑹茶缃负鍜宻eekbar鐨勯鑹茶缃殑涓�鏍风殑锛屾墍浠ュ氨涓嶆樉绀鸿繘搴︿簡銆�
-                        gradientDrawable.setSize(DimenUtils.dip2px(getContext(), 50) * 5 / (circleSpecials.size() / 2)
-                                , DimenUtils.dip2px(getContext(), 4));
-                    }
+                    initSeekBar();
                     if (list2 == null || list2.size() == 0) {
                         rv_special_offer.setVisibility(View.GONE);
                     } else {
@@ -985,22 +1078,22 @@
 
                     DiskLruCache.Editor editor1 = cache
                             .edit(getKey("arcArea"));
-                    editor1.set(0, jsonObject.optJSONObject("data").optJSONObject("arcArea")
+                    editor1.set(0, data.optJSONObject("arcArea")
                             .optJSONArray("list").toString());
                     editor1.commit();
                     //娲诲姩涓撻3
                     List<SpecialOffer2> list3 = gson.fromJson(
-                            jsonObject.optJSONObject("data").optJSONObject("activityArea")
+                            data.optJSONObject("activityArea")
                                     .optJSONArray("list").toString(),
                             new TypeToken<List<SpecialOffer2>>() {
                             }.getType());
                     if (mSpecial3s.size() > 0) {
                         mSpecial3s.clear();
                     }
-                    String url = jsonObject.optJSONObject("data")
+                    String url = data
                             .optJSONObject("activityArea").optString("bottomPicture");
 
-                    showActivity1(list3, url);
+                    showBigActivity(list3, url);
                     if (list3 == null || list3.size() == 0) {
                         fl_fragment_activity.setVisibility(View.GONE);
                     } else {
@@ -1008,12 +1101,12 @@
                     }
                     DiskLruCache.Editor editor2 = cache
                             .edit(getKey("activityArea"));
-                    editor2.set(0, jsonObject.optJSONObject("data")
+                    editor2.set(0, data
                             .optJSONObject("activityArea").toString());
                     editor2.commit();
                     //娲诲姩涓撻4
                     List<HomeBanner> list4 = gson.fromJson(
-                            jsonObject.optJSONObject("data")
+                            data
                                     .optJSONArray("invitePicList").toString(),
                             new TypeToken<List<HomeBanner>>() {
                             }.getType());
@@ -1030,15 +1123,16 @@
                     }
                     DiskLruCache.Editor editor3 = cache
                             .edit(getKey("invitePicList"));
-                    editor3.set(0, jsonObject.optJSONObject("data")
+                    editor3.set(0, data
                             .optJSONArray("invitePicList").toString());
                     editor3.commit();
                     //娲诲姩涓撻5
                     List<SpecialOffer2> list5 = gson.fromJson(
-                            jsonObject.optJSONObject("data").optJSONObject("blockArea")
+                            data.optJSONObject("blockArea")
                                     .optJSONArray("list").toString(),
                             new TypeToken<List<SpecialOffer2>>() {
                             }.getType());
+                    list5.clear();
                     showActivity2(list5);
 
                     if (list5 == null || list5.size() == 0) {
@@ -1048,9 +1142,35 @@
                     }
                     DiskLruCache.Editor editor4 = cache
                             .edit(getKey("blockArea"));
-                    editor4.set(0, jsonObject.optJSONObject("data").optJSONObject("blockArea")
+                    editor4.set(0, data.optJSONObject("blockArea")
                             .optJSONArray("list").toString());
                     editor4.commit();
+
+
+                    //浠婃棩鐖嗘
+                    final JSONObject hotSales = data.optJSONObject("hotSales");
+                    if (hotSales != null) {
+                        List<TaoBaoGoodsBrief> list = gson.fromJson(hotSales.
+                                optJSONArray("goodsList").toString(), new TypeToken<List<TaoBaoGoodsBrief>>() {
+                        }.getType());
+                        mHotGoodsList.clear();
+                        mHotGoodsList.addAll(list);
+                        tv_hot_goods_more.setOnClickListener(new View.OnClickListener() {
+                            @Override
+                            public void onClick(View v) {
+                                JumpDetail jumpDetail = gson.fromJson(hotSales.optJSONObject("jumpDetail").toString(), JumpDetail.class);
+                                com.alibaba.fastjson.JSONObject params = com.alibaba.fastjson.JSONObject.parseObject(hotSales.optJSONObject("params").toString());
+                                JumpActivityUtil.jumpPage(getActivity(), jumpDetail, params);
+                            }
+                        });
+
+                        DiskLruCache.Editor editorHotSales = cache
+                                .edit(getKey("hotSales"));
+                        editorHotSales.set(0, hotSales.toString());
+                        editorHotSales.commit();
+                    }
+                    setHotGoods();
+
 
                     //鎺ㄨ崘鐑偣
 //                    RecommendHot recommendHot = gson.fromJson(jsonObject.optJSONObject("data")
@@ -1169,6 +1289,7 @@
         });
     }
 
+
     /*
      *鎺ㄨ崘鍟嗗搧
      */
@@ -1207,6 +1328,8 @@
                     }
 
                     mList.addAll(list);
+
+
                     goodsAdapter.setGoodsType(goodsType);
                     goodsAdapter.notifyDataSetChanged();
                     if (isTop) {
@@ -1217,7 +1340,6 @@
 //                    goodsAdapter.notifyItemRangeChanged(goodsAdapter.getItemCount(), list.size());//鍊掑簭鎵归噺鍒锋柊鍒楄〃
                     count = jsonObject.optJSONObject("data").optInt("count");
 //                    tv_recommend_goods_hint.setVisibility(mList.size() > 0 ? View.VISIBLE : View.GONE);
-                    v_divider.setVisibility(mList.size() > 0 ? View.VISIBLE : View.GONE);
 
                     if (mList.size() == count) {
                         bottom.setVisibility(View.VISIBLE);
@@ -1285,44 +1407,57 @@
         });
     }
 
-    /*
-    娲诲姩涓撻3
+
+    /**
+     * 澶ф椿鍔ㄤ笓棰�
+     *
+     * @param mList
+     * @param bottomPic
      */
-    private void showActivity1(final List<SpecialOffer2> mList, String bottomPic) {
+    private void showBigActivity(final List<SpecialOffer2> mList, String bottomPic) {
         if (mList.size() > 0) {
-            float screenWidth = SystemCommon.getScreenWidth(vp_banner.getContext());
-            float actTotalHeight = (screenWidth - DimenUtils.dip2px(getContext(), 20)) * 7 / 20;
+            int screenWidth = ScreenUtils.getScreenWidth(getContext());
+            ViewGroup.MarginLayoutParams p1 = (ViewGroup.MarginLayoutParams) ((View) fl_fragment_activity.getParent()).getLayoutParams();
+
+            float bigratio = 0.35f;
+            float smallratio = 0.4571f;
+            int rowSpace = DimenUtils.dip2px(getContext(), 10);
+            int columnSpace = DimenUtils.dip2px(getContext(), 5);
+            int bigImageWidth = screenWidth - p1.leftMargin - p1.rightMargin;
+            int bigImageHeight = (int) (bigImageWidth * bigratio);
+            int smallImageWidth = (bigImageWidth - columnSpace) / 2;
+            int smallImageHeight = (int) (smallImageWidth * smallratio);
+
+
+            int actTotalHeight = bigImageHeight + rowSpace;
             for (int i = 0; i < mList.size(); i++) {
                 if (i > 0 && i % 2 == 0) {
-                    actTotalHeight += ((screenWidth / 2 - DimenUtils.dip2px(getContext(), 15))
-                            * 16 / 35 + DimenUtils.dip2px(getContext(), 10));
+                    actTotalHeight += smallImageHeight + rowSpace;
                 }
             }
-            FrameLayout.LayoutParams params0 = new FrameLayout.LayoutParams((int) (screenWidth -
-                    DimenUtils.dip2px(getContext(), 20)), (int) actTotalHeight);
-            params0.leftMargin = DimenUtils.dip2px(getContext(), 10);
-            params0.rightMargin = DimenUtils.dip2px(getContext(), 10);
+            FrameLayout.LayoutParams params0 = new FrameLayout.LayoutParams(bigImageWidth, FrameLayout.LayoutParams.WRAP_CONTENT);
+            params0.leftMargin = DimenUtils.dip2px(getContext(), 0);
+            params0.rightMargin = DimenUtils.dip2px(getContext(), 0);
             params0.topMargin = DimenUtils.dip2px(getContext(), 15);
-            params0.bottomMargin = DimenUtils.dip2px(getContext(), 10);
             ll_fragment_activity.setLayoutParams(params0);
             if (ll_fragment_activity.getChildCount() > 0) {
                 ll_fragment_activity.removeAllViews();
             }
 
-            iv_activity_bg.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams
-                    .MATCH_PARENT, (int) actTotalHeight + DimenUtils.dip2px(getContext(), 25)));
-            Glide.with(getContext()).load(bottomPic).into(iv_activity_bg);
+//            iv_activity_bg.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams
+//                    .MATCH_PARENT, (int) actTotalHeight + DimenUtils.dip2px(getContext(), 25)));
+//            Glide.with(getContext()).load(bottomPic).into(iv_activity_bg);
 
             for (int i = 0; i < mList.size(); i++) {
                 if (i == 0) {
                     final SpecialOffer2 info = mList.get(i);
                     ImageView iv = new ImageView(getContext());
                     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
-                            (int) (screenWidth - DimenUtils.dip2px(getContext(), 20)),
-                            (int) (screenWidth - DimenUtils.dip2px(getContext(), 20)) * 7 / 20);
+                            bigImageWidth,
+                            bigImageHeight);
                     params.gravity = Gravity.TOP;
                     iv.setLayoutParams(params);
-                    iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
+                    iv.setScaleType(ImageView.ScaleType.FIT_XY);
 
                     Glide.with(getContext()).load(info.getPicture()).into(iv);
                     iv.setOnClickListener(new View.OnClickListener() {
@@ -1336,6 +1471,9 @@
                 } else {
                     if (i % 2 == 1) {
                         LinearLayout ll_img = new LinearLayout(getContext());
+                        LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+                        p2.topMargin = rowSpace;
+                        ll_img.setLayoutParams(p2);
                         ll_img.setOrientation(LinearLayout.HORIZONTAL);
                         for (int j = i; j < (i + 2); j++) {
                             if (j >= mList.size()) {
@@ -1343,15 +1481,13 @@
                             }
 
                             ImageView iv = new ImageView(getContext());
-                            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams((int) screenWidth / 2 -
-                                    (DimenUtils.dip2px(getContext(), 15)), (int) ((screenWidth / 2 -
-                                    (DimenUtils.dip2px(getContext(), 15))) * 16 / 35));
-                            params.topMargin = DimenUtils.dip2px(getContext(), 10);
-                            if (j % 2 == 1) {
-                                params.rightMargin = DimenUtils.dip2px(getContext(), 3);
-                            } else {
-                                params.leftMargin = DimenUtils.dip2px(getContext(), 3);
-                            }
+                            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(smallImageWidth, smallImageHeight);
+
+//                            if (j % 2 == 1) {
+//                                params.rightMargin = columnSpace / 2;
+//                            } else {
+//                                params.leftMargin = columnSpace / 2;
+//                            }
                             iv.setLayoutParams(params);
                             Glide.with(getContext()).load(mList.get(j).getPicture()).into(iv);
                             final int k = j;
@@ -1363,6 +1499,13 @@
                                 }
                             });
                             ll_img.addView(iv);
+                            if (j % 2 == 1) {
+                                View view = new View(getContext());
+                                LinearLayout.LayoutParams p3 = new LinearLayout.LayoutParams(0, 1);
+                                p3.weight = 1;
+                                view.setLayoutParams(p3);
+                                ll_img.addView(view);
+                            }
                         }
                         ll_fragment_activity.addView(ll_img);
                     }

--
Gitblit v1.8.0