Sheffi 7 meses atrás
pai
commit
4db0a76619
53 arquivos alterados com 1571 adições e 352 exclusões
  1. 1 1
      ybvideoandroid/common/src/main/res/drawable/bg_coin_item_0.xml
  2. 1 1
      ybvideoandroid/common/src/main/res/drawable/bg_coin_item_1.xml
  3. 1 1
      ybvideoandroid/common/src/main/res/values/colors.xml
  4. 3 1
      ybvideoandroid/main/src/main/AndroidManifest.xml
  5. 4 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/activity/CashDetailActivity.java
  6. 379 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/activity/GoodsFilterActivity.java
  7. 5 0
      ybvideoandroid/main/src/main/java/com/yunbao/main/activity/LiveSquareActivity.java
  8. 7 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/activity/MyCoinActivity.java
  9. 106 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/EcommercePrimaryFilterAdapter.java
  10. 100 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/EcommerceProductAdapter.java
  11. 89 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/EcommerceSecondaryFilterAdapter.java
  12. 4 0
      ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MainMallAdapter.java
  13. 3 1
      ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MainMallClassAdapter.java
  14. 9 6
      ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MainMallHotAdapter.java
  15. 4 0
      ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MallClassAdapter.java
  16. 39 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/bean/EcommerceCategoryBean.java
  17. 67 2
      ybvideoandroid/main/src/main/java/com/yunbao/main/bean/EcommerceProductBean.java
  18. 10 0
      ybvideoandroid/main/src/main/java/com/yunbao/main/bean/MainMallGoodsBean.java
  19. 1 0
      ybvideoandroid/main/src/main/java/com/yunbao/main/http/MainHttpConsts.java
  20. 14 1
      ybvideoandroid/main/src/main/java/com/yunbao/main/http/MainHttpUtil.java
  21. 1 1
      ybvideoandroid/main/src/main/java/com/yunbao/main/views/AbsCashDetailViewHolder.java
  22. 72 97
      ybvideoandroid/main/src/main/java/com/yunbao/main/views/MainMallViewHolder.java
  23. 2 1
      ybvideoandroid/main/src/main/res/drawable/bg_btn_profit.xml
  24. 4 3
      ybvideoandroid/main/src/main/res/drawable/bg_coupon.xml
  25. 6 1
      ybvideoandroid/main/src/main/res/drawable/bg_filter_container.xml
  26. 4 3
      ybvideoandroid/main/src/main/res/drawable/bg_filter_search.xml
  27. 4 3
      ybvideoandroid/main/src/main/res/drawable/bg_goods_image.xml
  28. 5 3
      ybvideoandroid/main/src/main/res/drawable/bg_goods_label.xml
  29. 1 1
      ybvideoandroid/main/src/main/res/drawable/bg_profit_edit.xml
  30. 15 1
      ybvideoandroid/main/src/main/res/drawable/bg_textview_rounded.xml
  31. 3 1
      ybvideoandroid/main/src/main/res/drawable/bg_threeclass.xml
  32. 6 3
      ybvideoandroid/main/src/main/res/layout/activity_cash_detail.xml
  33. 10 7
      ybvideoandroid/main/src/main/res/layout/activity_coin.xml
  34. 114 4
      ybvideoandroid/main/src/main/res/layout/activity_filter_goods.xml
  35. 3 2
      ybvideoandroid/main/src/main/res/layout/activity_mall_class.xml
  36. 9 8
      ybvideoandroid/main/src/main/res/layout/activity_my_profit.xml
  37. 3 3
      ybvideoandroid/main/src/main/res/layout/item_coin_head.xml
  38. 83 81
      ybvideoandroid/main/src/main/res/layout/item_main_mall_head.xml
  39. 33 4
      ybvideoandroid/main/src/main/res/layout/item_primary_filter.xml
  40. 117 4
      ybvideoandroid/main/src/main/res/layout/item_product_grid.xml
  41. 28 12
      ybvideoandroid/main/src/main/res/layout/item_product_recommend.xml
  42. 18 4
      ybvideoandroid/main/src/main/res/layout/item_secondary_filter.xml
  43. 37 11
      ybvideoandroid/main/src/main/res/layout/item_shop_home.xml
  44. 1 0
      ybvideoandroid/main/src/main/res/layout/view_cash_detail.xml
  45. 42 22
      ybvideoandroid/main/src/main/res/layout/view_main_mall.xml
  46. 4 3
      ybvideoandroid/mall/src/main/res/drawable/bg_coupon.xml
  47. 4 3
      ybvideoandroid/mall/src/main/res/drawable/bg_goods_image.xml
  48. 7 3
      ybvideoandroid/mall/src/main/res/drawable/bg_nav.xml
  49. 6 6
      ybvideoandroid/mall/src/main/res/layout/activity_buyer_order_detail.xml
  50. 3 3
      ybvideoandroid/mall/src/main/res/layout/activity_goods_detail_mall.xml
  51. 6 6
      ybvideoandroid/mall/src/main/res/layout/activity_goods_make_order.xml
  52. 37 10
      ybvideoandroid/mall/src/main/res/layout/item_shop_home_left.xml
  53. 36 10
      ybvideoandroid/mall/src/main/res/layout/item_shop_home_right.xml

+ 1 - 1
ybvideoandroid/common/src/main/res/drawable/bg_coin_item_0.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <corners android:radius="5dp"/>
-    <solid android:color="#10fafafa"/>
+    <solid android:color="#FF999999"/>
 </shape>

+ 1 - 1
ybvideoandroid/common/src/main/res/drawable/bg_coin_item_1.xml

@@ -3,7 +3,7 @@
     <item>
         <shape>
             <corners android:radius="5dp"/>
-            <solid android:color="#10fafafa"/>
+            <solid android:color="#999999"/>
         </shape>
     </item>
     <item>

+ 1 - 1
ybvideoandroid/common/src/main/res/values/colors.xml

@@ -4,7 +4,7 @@
     <color name="colorPrimaryDark">@color/global</color>
     <color name="colorAccent">@color/global</color>
 
-    <color name="global">#ea377f</color>
+    <color name="global">#04CB64</color>
     <color name="background">#110d24</color>
     <color name="transparent">#00000000</color>
     <color name="textColor">@color/white</color>

+ 3 - 1
ybvideoandroid/main/src/main/AndroidManifest.xml

@@ -116,7 +116,6 @@
             android:screenOrientation="portrait"
             android:windowSoftInputMode="adjustPan|stateAlwaysHidden"
             />
-
         <activity
             android:name=".activity.DailyTaskActivity"
             android:screenOrientation="portrait" />
@@ -203,6 +202,9 @@
         <activity
             android:name=".activity.AuthorCollectActiveActivity"
             android:screenOrientation="portrait" />
+        <activity
+            android:name=".activity.GoodsFilterActivity"
+            android:screenOrientation="portrait" />
 
     </application>
 </manifest>

+ 4 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/activity/CashDetailActivity.java

@@ -104,8 +104,10 @@ public class CashDetailActivity extends AbsActivity {
             @Override
             public IPagerTitleView getTitleView(Context context, final int index) {
                 SimplePagerTitleView simplePagerTitleView = new ColorTransitionPagerTitleView(context);
-                simplePagerTitleView.setNormalColor(ContextCompat.getColor(mContext, R.color.gray3));
-                simplePagerTitleView.setSelectedColor(ContextCompat.getColor(mContext, R.color.textColor));
+                simplePagerTitleView.setNormalColor(0xff666666);
+//                simplePagerTitleView.setNormalColor(ContextCompat.getColor(mContext, R.color.gray3));
+                simplePagerTitleView.setSelectedColor(ContextCompat.getColor(mContext, R.color.global));
+//                simplePagerTitleView.setSelectedColor(ContextCompat.getColor(mContext, R.color.textColor));
                 simplePagerTitleView.setText(titles[index]);
                 simplePagerTitleView.setTextSize(17);
                 simplePagerTitleView.getPaint().setFakeBoldText(true);

+ 379 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/activity/GoodsFilterActivity.java

@@ -1,2 +1,379 @@
-package com.yunbao.main.activity;public class GoodsFilterActivity {
-}
+package com.yunbao.main.activity;
+
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.alibaba.fastjson.JSON;
+import com.yunbao.common.activity.AbsActivity;
+import com.yunbao.common.adapter.RefreshAdapter;
+import com.yunbao.common.bean.GoodsBean;
+import com.yunbao.common.custom.CommonRefreshView;
+import com.yunbao.common.custom.ItemDecoration;
+import com.yunbao.common.http.HttpCallback;
+import com.yunbao.common.interfaces.OnItemClickListener;
+import com.yunbao.common.utils.DpUtil;
+import com.yunbao.common.utils.ToastUtil;
+import com.yunbao.main.R;
+import com.yunbao.main.adapter.EcommercePrimaryFilterAdapter;
+import com.yunbao.main.adapter.EcommerceSecondaryFilterAdapter;
+import com.yunbao.main.adapter.EcommerceProductAdapter;
+import com.yunbao.main.adapter.MallClassAdapter;
+import com.yunbao.main.bean.EcommerceCategoryBean;
+import com.yunbao.main.bean.EcommerceProductBean;
+import com.yunbao.main.bean.MainMallGoodsBean;
+import com.yunbao.main.http.MainHttpUtil;
+import com.yunbao.main.views.AbsMainViewHolder;
+import com.yunbao.mall.activity.GoodsDetailActivity;
+import com.yunbao.mall.bean.GoodsSimpleBean;
+import com.yunbao.mall.bean.GoodsHomeClassBean;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class GoodsFilterActivity extends AbsActivity implements OnItemClickListener<GoodsSimpleBean>, View.OnClickListener {
+
+    public static void forward(Context context) {
+        Intent intent = new Intent(context, GoodsFilterActivity.class);
+        context.startActivity(intent);
+    }
+
+    // 新增带classId参数的forward方法
+    public static void forward(Context context, String classId) {
+        Intent intent = new Intent(context, GoodsFilterActivity.class);
+        intent.putExtra("classId", classId);
+        context.startActivity(intent);
+    }
+
+    private static final String SORT_DESC = "desc";
+    private static final String SORT_ASC = "asc";
+    private static final String SORT_NONE = "";
+
+    private EditText mEtSearch;
+    private RecyclerView mRvPrimaryFilter;
+    private RecyclerView mRvSecondaryFilter;
+    private CommonRefreshView mRefreshView;
+    private LinearLayout mEmptyView;
+
+    private EcommercePrimaryFilterAdapter mPrimaryFilterAdapter;
+    private EcommerceSecondaryFilterAdapter mSecondaryFilterAdapter;
+    private EcommerceProductAdapter mProductAdapter;
+
+    // 修改为使用GoodsHomeClassBean
+    private List<GoodsHomeClassBean> mPrimaryCategoryList;
+    private List<GoodsHomeClassBean> mSecondaryCategoryList;
+
+    private String mCurrentPrimaryCategoryId = "";
+    private String mCurrentSecondaryCategoryId = "";
+    private String mSearchKeyword = "";
+    private String mClassId = ""; // 新增classId字段
+    private String mSaleSort = SORT_NONE;
+    private String mPriceSort = SORT_NONE;
+    private int mIsNew;
+    @Override
+    protected boolean isStatusBarWhite() {
+        return false;
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.activity_filter_goods;
+    }
+
+    @Override
+    protected void main() {
+        setTitle("商品列表");
+        // 获取传入的classId参数
+        Intent intent = getIntent();
+        if (intent != null) {
+            mClassId = intent.getStringExtra("classId");
+            if (mClassId == null) {
+                mClassId = "";
+            }
+        }
+        initView();
+        initAdapter();
+        loadPrimaryCategories();
+    }
+
+    private void initView() {
+        mEtSearch = findViewById(R.id.et_search);
+        mRvPrimaryFilter = findViewById(R.id.rv_primary_filter);
+        mRvSecondaryFilter = findViewById(R.id.rv_secondary_filter);
+//        mEmptyView = findViewById(R.id.empty_view);
+
+        // 搜索框监听
+        mEtSearch.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {}
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                mSearchKeyword = s.toString().trim();
+            }
+        });
+    }
+
+    private void initAdapter() {
+        // 一级筛选项适配器 - 修改为使用GoodsHomeClassBean
+        mPrimaryCategoryList = new ArrayList<>();
+        mPrimaryFilterAdapter = new EcommercePrimaryFilterAdapter(mContext, convertToEcommerceCategoryList(mPrimaryCategoryList));
+        mPrimaryFilterAdapter.setOnItemClickListener(new EcommercePrimaryFilterAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(EcommerceCategoryBean category, int position) {
+                mCurrentPrimaryCategoryId = category.getId();
+                mPrimaryFilterAdapter.setSelectedPosition(position);
+                loadSecondaryCategories(category.getId());
+            }
+        });
+        mRvPrimaryFilter.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
+        mRvPrimaryFilter.setAdapter(mPrimaryFilterAdapter);
+
+        // 二级筛选项适配器 - 修改为使用GoodsHomeClassBean
+        mSecondaryCategoryList = new ArrayList<>();
+        mSecondaryFilterAdapter = new EcommerceSecondaryFilterAdapter(mContext, convertToEcommerceCategoryList(mSecondaryCategoryList));
+        mSecondaryFilterAdapter.setOnItemClickListener(new EcommerceSecondaryFilterAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(EcommerceCategoryBean category, int position) {
+                mCurrentSecondaryCategoryId = category.getId();
+                mSecondaryFilterAdapter.setSelectedPosition(position);
+                loadData();
+            }
+        });
+        mRvSecondaryFilter.setLayoutManager(new LinearLayoutManager(mContext));
+        mRvSecondaryFilter.setAdapter(mSecondaryFilterAdapter);
+
+        // 商品列表适配器
+        mRefreshView = findViewById(R.id.refresh_view);
+        mRefreshView.setEmptyLayoutId(R.layout.view_no_data_main_mall_class);
+        mRefreshView.setLayoutManager(new GridLayoutManager(mContext, 1, GridLayoutManager.VERTICAL, false));
+        mRefreshView.setDataHelper(new CommonRefreshView.DataHelper<GoodsSimpleBean>() {
+            @Override
+            public RefreshAdapter<GoodsSimpleBean> getAdapter() {
+                if (mProductAdapter == null) {
+                    mProductAdapter = new EcommerceProductAdapter(mContext);
+                }
+                return mProductAdapter;
+            }
+
+            @Override
+            public void loadData(int p, HttpCallback callback) {
+                MainHttpUtil.getShopClassList(mCurrentSecondaryCategoryId, mSaleSort, mPriceSort, mIsNew, p, callback);
+            }
+
+            @Override
+            public List<GoodsSimpleBean> processData(String[] info) {
+                return JSON.parseArray(Arrays.toString(info), GoodsSimpleBean.class);
+            }
+
+            @Override
+            public void onRefreshSuccess(List<GoodsSimpleBean> list, int listCount) {
+
+            }
+
+            @Override
+            public void onRefreshFailure() {
+
+            }
+
+            @Override
+            public void onLoadMoreSuccess(List<GoodsSimpleBean> loadItemList, int loadItemCount) {
+
+            }
+
+            @Override
+            public void onLoadMoreFailure() {
+
+            }
+        });
+    }
+
+    private void loadData() {
+        if (mRefreshView != null) {
+            mRefreshView.initData();
+        }
+    }
+
+    // 新增转换方法:将GoodsHomeClassBean列表转换为EcommerceCategoryBean列表
+    private List<EcommerceCategoryBean> convertToEcommerceCategoryList(List<GoodsHomeClassBean> goodsHomeClassList) {
+        List<EcommerceCategoryBean> ecommerceCategoryList = new ArrayList<>();
+        if (goodsHomeClassList != null) {
+            for (GoodsHomeClassBean goodsHomeClass : goodsHomeClassList) {
+                EcommerceCategoryBean ecommerceCategory = new EcommerceCategoryBean(
+                    goodsHomeClass.getId(),
+                    goodsHomeClass.getName(),
+                    goodsHomeClass.getIcon()
+                );
+                ecommerceCategoryList.add(ecommerceCategory);
+            }
+        }
+        return ecommerceCategoryList;
+    }
+
+    @Override
+    public void onItemClick(GoodsSimpleBean bean, int position) {
+//        GoodsDetailActivity.forward(mContext, bean.getId(), false, bean.getType());
+        GoodsDetailActivity.forward(mContext, bean.getId(), false, bean.getType());
+    }
+
+    private void loadPrimaryCategories() {
+        // 使用MainHttpUtil.getHomeTwoClassList接口调用
+        int shopClassId = 1;
+        if (!TextUtils.isEmpty(mClassId)) {
+            try {
+                shopClassId = Integer.parseInt(mClassId);
+            } catch (NumberFormatException e) {
+                shopClassId = 0;
+            }
+        }
+        
+        MainHttpUtil.getHomeTwoClassList(1, shopClassId, new HttpCallback() {
+            @Override
+            public void onSuccess(int code, String msg, String[] info) {
+
+                    try {
+                        // 直接解析为GoodsHomeClassBean
+                        List<GoodsHomeClassBean> categories = JSON.parseArray(Arrays.toString(info), GoodsHomeClassBean.class);
+                        if (categories == null) {
+                            categories = new ArrayList<>();
+                        }
+                        
+                        // 添加"全部"选项
+                        List<GoodsHomeClassBean> finalCategories = new ArrayList<>();
+//                        GoodsHomeClassBean allCategory = new GoodsHomeClassBean();
+//                        allCategory.setId("0");
+//                        allCategory.setName("全部");
+//                        allCategory.setIcon("");
+//                        finalCategories.add(allCategory);
+                        finalCategories.addAll(categories);
+                        
+                        mPrimaryCategoryList.clear();
+                        mPrimaryCategoryList.addAll(finalCategories);
+                        
+                        // 更新适配器数据
+                        List<EcommerceCategoryBean> ecommerceCategoryList = convertToEcommerceCategoryList(mPrimaryCategoryList);
+                        mPrimaryFilterAdapter = new EcommercePrimaryFilterAdapter(mContext, ecommerceCategoryList);
+                        mPrimaryFilterAdapter.setOnItemClickListener(new EcommercePrimaryFilterAdapter.OnItemClickListener() {
+                            @Override
+                            public void onItemClick(EcommerceCategoryBean category, int position) {
+                                mCurrentPrimaryCategoryId = category.getId();
+                                mPrimaryFilterAdapter.setSelectedPosition(position);
+                                loadSecondaryCategories(category.getId());
+                            }
+                        });
+                        mRvPrimaryFilter.setAdapter(mPrimaryFilterAdapter);
+                        
+                        // 默认选中第一个
+                        if (!finalCategories.isEmpty()) {
+                            mCurrentPrimaryCategoryId = finalCategories.get(0).getId();
+                            mPrimaryFilterAdapter.setSelectedPosition(0);
+                            loadSecondaryCategories(mCurrentPrimaryCategoryId);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        ToastUtil.show("请求出错,请重试");
+                    }
+            }
+            
+            @Override
+            public void onError() {
+//                toast提示
+                ToastUtil.show("请求出错,请重试");
+            }
+        });
+    }
+
+    private void loadSecondaryCategories(String primaryCategoryId) {
+        // 使用getShopThreeClass接口获取二级分类数据
+        if (!TextUtils.isEmpty(primaryCategoryId)) {
+            MainHttpUtil.getShopThreeClass(primaryCategoryId, new HttpCallback() {
+                @Override
+                public void onSuccess(int code, String msg, String[] info) {
+
+                    try {
+                        // 直接解析为GoodsHomeClassBean
+                        List<GoodsHomeClassBean> categories = JSON.parseArray(Arrays.toString(info), GoodsHomeClassBean.class);
+                        if (categories == null) {
+                            categories = new ArrayList<>();
+                        }
+
+                        // 添加"全部"选项
+                        List<GoodsHomeClassBean> finalCategories = new ArrayList<>();
+//                                GoodsHomeClassBean allCategory = new GoodsHomeClassBean();
+//                                allCategory.setId("0");
+//                                allCategory.setName("全部");
+//                                allCategory.setIcon("");
+//                                finalCategories.add(allCategory);
+                        finalCategories.addAll(categories);
+
+                        mSecondaryCategoryList.clear();
+                        mSecondaryCategoryList.addAll(finalCategories);
+
+                        // 更新适配器数据
+                        List<EcommerceCategoryBean> ecommerceCategoryList = convertToEcommerceCategoryList(mSecondaryCategoryList);
+                        mSecondaryFilterAdapter = new EcommerceSecondaryFilterAdapter(mContext, ecommerceCategoryList);
+                        mSecondaryFilterAdapter.setOnItemClickListener(new EcommerceSecondaryFilterAdapter.OnItemClickListener() {
+                            @Override
+                            public void onItemClick(EcommerceCategoryBean category, int position) {
+                                mCurrentSecondaryCategoryId = category.getId();
+                                mSecondaryFilterAdapter.setSelectedPosition(position);
+                                loadData();
+                            }
+                        });
+                        mRvSecondaryFilter.setAdapter(mSecondaryFilterAdapter);
+
+                        // 默认选中第一个
+                        if (!finalCategories.isEmpty()) {
+                            mCurrentSecondaryCategoryId = finalCategories.get(0).getId();
+                            mSecondaryFilterAdapter.setSelectedPosition(0);
+                            loadData();
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        ToastUtil.show("请求出错,请重试");
+                    }
+
+                }
+
+                @Override
+                public void onError() {
+                    ToastUtil.show("请求出错,请重试");
+                }
+            });
+        }
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.btn_search) {
+            performSearch();
+        }
+    }
+
+    private void performSearch() {
+        if (TextUtils.isEmpty(mSearchKeyword)) {
+            ToastUtil.show("请输入搜索关键词");
+            return;
+        }
+        ToastUtil.show("搜索: " + mSearchKeyword);
+    }
+}

+ 5 - 0
ybvideoandroid/main/src/main/java/com/yunbao/main/activity/LiveSquareActivity.java

@@ -57,6 +57,11 @@ public class LiveSquareActivity extends AbsActivity implements OnItemClickListen
     }
 
     @Override
+    protected boolean isStatusBarWhite() {
+        return false;
+    }
+
+    @Override
     protected int getLayoutId() {
         return R.layout.activity_live_square;
     }

+ 7 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/activity/MyCoinActivity.java

@@ -66,6 +66,11 @@ public class MyCoinActivity extends AbsActivity implements OnItemClickListener<C
     }
 
     @Override
+    protected boolean isStatusBarWhite() {
+        return false;
+    }
+
+    @Override
     protected void main() {
         setTitle(WordUtil.getString(R.string.my_wallet));
         mRefreshLayout = findViewById(R.id.refreshLayout);
@@ -233,9 +238,9 @@ public class MyCoinActivity extends AbsActivity implements OnItemClickListener<C
     public void onClick(View v) {
         int i = v.getId();
         if (i == R.id.btn_tip) {
-            WebViewActivity.forwardNoArgs(mContext, HtmlConfig.CHARGE_PRIVCAY);
+            WebViewActivity.forward(mContext, HtmlConfig.CHARGE_PRIVCAY, true);
         } else if (i == R.id.btn_charge_detail) {
-            WebViewActivity.forward(mContext, HtmlConfig.CHARGE_DETAIL);
+            WebViewActivity.forward(mContext, HtmlConfig.CHARGE_DETAIL, true);
         } else if (i == R.id.btn_charge) {
             if (mPayPresenter == null) {
                 return;

+ 106 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/EcommercePrimaryFilterAdapter.java

@@ -1,2 +1,106 @@
-package com.yunbao.main.adapter;public class EcommercePrimaryFilterAdapter {
-}
+package com.yunbao.main.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.yunbao.common.glide.ImgLoader;
+import com.yunbao.main.R;
+import com.yunbao.main.bean.EcommerceCategoryBean;
+
+import java.util.List;
+
+public class EcommercePrimaryFilterAdapter extends RecyclerView.Adapter<EcommercePrimaryFilterAdapter.ViewHolder> {
+
+    private Context mContext;
+    private List<EcommerceCategoryBean> mList;
+    private OnItemClickListener mOnItemClickListener;
+    private int mSelectedPosition = 0;
+
+    public interface OnItemClickListener {
+        void onItemClick(EcommerceCategoryBean category, int position);
+    }
+
+    public EcommercePrimaryFilterAdapter(Context context, List<EcommerceCategoryBean> list) {
+        mContext = context;
+        mList = list;
+    }
+
+    public void setOnItemClickListener(OnItemClickListener listener) {
+        mOnItemClickListener = listener;
+    }
+
+    public void setSelectedPosition(int position) {
+        int oldPosition = mSelectedPosition;
+        mSelectedPosition = position;
+        notifyItemChanged(oldPosition);
+        notifyItemChanged(position);
+    }
+
+    @NonNull
+    @Override
+    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(mContext).inflate(R.layout.item_primary_filter, parent, false);
+        return new ViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
+        EcommerceCategoryBean bean = mList.get(position);
+        holder.tvCategoryName.setText(bean.getName());
+
+        // 加载图标
+        ImgLoader.display(mContext, bean.getIconUrl(), holder.ivCategoryIcon);
+
+        // 设置选中状态
+        boolean isSelected = position == mSelectedPosition;
+
+        // 设置图片边框颜色
+        if (holder.ivCategoryIcon instanceof com.makeramen.roundedimageview.RoundedImageView) {
+            com.makeramen.roundedimageview.RoundedImageView roundedImageView =
+                    (com.makeramen.roundedimageview.RoundedImageView) holder.ivCategoryIcon;
+            if (isSelected) {
+                roundedImageView.setBorderColor(0xFF3ADD00); // 选中时绿色边框
+            } else {
+                roundedImageView.setBorderColor(0xFFFFFFFF); // 未选中时白色边框
+            }
+        }
+
+        // 设置TextView的选中状态和文字颜色
+        holder.tvCategoryName.setSelected(isSelected);
+        if (isSelected) {
+            holder.tvCategoryName.setTextColor(ContextCompat.getColor(mContext, android.R.color.white));
+        } else {
+            holder.tvCategoryName.setTextColor(ContextCompat.getColor(mContext, R.color.textColorBlack));
+        }
+
+        holder.itemView.setOnClickListener(v -> {
+            if (mOnItemClickListener != null) {
+                mOnItemClickListener.onItemClick(bean, position);
+            }
+        });
+    }
+
+    @Override
+    public int getItemCount() {
+        return mList.size();
+    }
+
+    static class ViewHolder extends RecyclerView.ViewHolder {
+        ImageView ivCategoryIcon;
+        TextView tvCategoryName;
+
+        ViewHolder(@NonNull View itemView) {
+            super(itemView);
+            ivCategoryIcon = itemView.findViewById(R.id.iv_category_icon);
+            tvCategoryName = itemView.findViewById(R.id.tv_category_name);
+        }
+    }
+}

+ 100 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/EcommerceProductAdapter.java

@@ -1,2 +1,100 @@
-package com.yunbao.main.adapter;public class EcommerceProductAdapter {
-}
+package com.yunbao.main.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.yunbao.common.adapter.RefreshAdapter;
+import com.yunbao.common.glide.ImgLoader;
+import com.yunbao.common.utils.StringUtil;
+import com.yunbao.common.utils.WordUtil;
+import com.yunbao.main.R;
+import com.yunbao.main.bean.EcommerceProductBean;
+import com.yunbao.main.bean.MainMallGoodsBean;
+import com.yunbao.mall.bean.GoodsHomeClassBean;
+import com.yunbao.mall.bean.GoodsSimpleBean;
+
+import java.util.List;
+
+public class EcommerceProductAdapter extends RefreshAdapter<GoodsSimpleBean> {
+
+    private String mSaleString;
+    private String mMoneySymbol;
+    private View.OnClickListener mOnClickListener;
+
+    public EcommerceProductAdapter(Context context) {
+        super(context);
+        mSaleString = WordUtil.getString(R.string.mall_114);
+        mMoneySymbol = WordUtil.getString(R.string.money_symbol);
+        mOnClickListener = new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (!canClick()) {
+                    return;
+                }
+                Object tag = v.getTag();
+                if (tag != null && mOnItemClickListener != null) {
+                    mOnItemClickListener.onItemClick((GoodsSimpleBean) tag, 0);
+                }
+            }
+        };
+    }
+
+//    public void setOnItemClickListener(OnItemClickListener listener) {
+//        mOnItemClickListener = listener;
+//    }
+
+    @NonNull
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
+        return new EcommerceProductAdapter.Vh(mInflater.inflate(R.layout.item_product_grid, viewGroup, false));
+
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder vh, int position) {
+        if (vh instanceof EcommerceProductAdapter.Vh) {
+            ((EcommerceProductAdapter.Vh) vh).setData(position, mList.get(position));
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        return super.getItemCount();
+    }
+
+    class Vh extends RecyclerView.ViewHolder {
+        ImageView ivProductImage;
+        TextView tvProductName;
+        TextView tvProductPrice;
+        TextView tvSalesCount;
+
+        public Vh(@NonNull View itemView) {
+            super(itemView);
+            ivProductImage = itemView.findViewById(R.id.iv_product_image);
+            tvProductName = itemView.findViewById(R.id.tv_product_name);
+            tvProductPrice = itemView.findViewById(R.id.tv_product_price);
+            tvSalesCount = itemView.findViewById(R.id.tv_sales_count);
+            itemView.setOnClickListener(mOnClickListener);
+        }
+
+        void setData(int position, final GoodsSimpleBean bean) {
+            ImgLoader.display(mContext, bean.getThumb(), ivProductImage);
+            tvProductName.setText(bean.getName());
+            tvProductPrice.setText(StringUtil.contact(mMoneySymbol, bean.getPrice()));
+            if (bean.getType() == 1) {
+                tvSalesCount.setText(null);
+//                mOriginPrice.setText(bean.getOriginPrice());
+            } else {
+                tvSalesCount.setText(String.format(mSaleString, bean.getSaleNum()));
+//                mOriginPrice.setText(null);
+            }
+        }
+    }
+}

+ 89 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/EcommerceSecondaryFilterAdapter.java

@@ -1,2 +1,89 @@
-package com.yunbao.main.adapter;public class EcommerceSecondaryFilterAdapter {
-}
+package com.yunbao.main.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.yunbao.main.R;
+import com.yunbao.main.bean.EcommerceCategoryBean;
+
+import java.util.List;
+
+public class EcommerceSecondaryFilterAdapter extends RecyclerView.Adapter<EcommerceSecondaryFilterAdapter.ViewHolder> {
+
+    private Context mContext;
+    private List<EcommerceCategoryBean> mList;
+    private OnItemClickListener mOnItemClickListener;
+    private int mSelectedPosition = 0;
+
+    public interface OnItemClickListener {
+        void onItemClick(EcommerceCategoryBean category, int position);
+    }
+
+    public EcommerceSecondaryFilterAdapter(Context context, List<EcommerceCategoryBean> list) {
+        mContext = context;
+        mList = list;
+    }
+
+    public void setOnItemClickListener(OnItemClickListener listener) {
+        mOnItemClickListener = listener;
+    }
+
+    public void setSelectedPosition(int position) {
+        int oldPosition = mSelectedPosition;
+        mSelectedPosition = position;
+        notifyItemChanged(oldPosition);
+        notifyItemChanged(position);
+    }
+
+    @NonNull
+    @Override
+    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(mContext).inflate(R.layout.item_secondary_filter, parent, false);
+        return new ViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
+        EcommerceCategoryBean bean = mList.get(position);
+        holder.tvFilterName.setText(bean.getName());
+
+        // 设置选中状态
+        boolean isSelected = position == mSelectedPosition;
+        int textColor = isSelected ?
+                ContextCompat.getColor(mContext, R.color.global) :
+                ContextCompat.getColor(mContext, R.color.textColorBlack);
+        holder.tvFilterName.setTextColor(textColor);
+
+        int backgroundColor = isSelected ?
+                ContextCompat.getColor(mContext, R.color.white) :
+                ContextCompat.getColor(mContext, R.color.gray1);
+        holder.itemView.setBackgroundColor(backgroundColor);
+
+        holder.itemView.setOnClickListener(v -> {
+            if (mOnItemClickListener != null) {
+                mOnItemClickListener.onItemClick(bean, position);
+            }
+        });
+    }
+
+    @Override
+    public int getItemCount() {
+        return mList.size();
+    }
+
+    static class ViewHolder extends RecyclerView.ViewHolder {
+        TextView tvFilterName;
+
+        ViewHolder(@NonNull View itemView) {
+            super(itemView);
+            tvFilterName = itemView.findViewById(R.id.tv_filter_name);
+        }
+    }
+}

+ 4 - 0
ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MainMallAdapter.java

@@ -125,6 +125,8 @@ public class MainMallAdapter extends RefreshAdapter<MainMallGoodsBean> {
         TextView mPirce;
         TextView mSaleNum;
         TextView mOriginPrice;
+        View mCoupon;
+        TextView mCouponContent;
 
         public Vh(@NonNull View itemView) {
             super(itemView);
@@ -134,6 +136,8 @@ public class MainMallAdapter extends RefreshAdapter<MainMallGoodsBean> {
             mSaleNum = itemView.findViewById(R.id.sale_num);
             mOriginPrice = itemView.findViewById(R.id.origin_price);
             mOriginPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
+            mCoupon = itemView.findViewById(R.id.coupon);
+            mCouponContent = itemView.findViewById(R.id.coupon_text);
             itemView.setOnClickListener(mOnClickListener);
         }
 

+ 3 - 1
ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MainMallClassAdapter.java

@@ -14,6 +14,7 @@ import com.yunbao.common.adapter.RefreshAdapter;
 import com.yunbao.common.glide.ImgLoader;
 import com.yunbao.common.utils.RouteUtil;
 import com.yunbao.main.R;
+import com.yunbao.main.activity.GoodsFilterActivity;
 import com.yunbao.main.activity.MallClassActivity;
 import com.yunbao.mall.activity.BuyerAccountActivity;
 import com.yunbao.mall.bean.GoodsHomeClassBean;
@@ -36,7 +37,8 @@ public class MainMallClassAdapter extends RefreshAdapter<GoodsHomeClassBean> {
                     BuyerAccountActivity.forward(mContext);
                     return;
                 }
-                MallClassActivity.forward(mContext, bean.getName(), bean.getId());
+//                MallClassActivity.forward(mContext, bean.getName(), bean.getId());
+                GoodsFilterActivity.forward(mContext, bean.getId());
             }
         };
     }

+ 9 - 6
ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MainMallHotAdapter.java

@@ -24,10 +24,10 @@ import java.util.List;
 public class MainMallHotAdapter extends RefreshAdapter<MainMallGoodsBean> {
 
     private View.OnClickListener mOnClickListener;
-    private int mItemWidth;
+    private final int mDisplayWidth;
+    private final int mDisplayHeightMax;
     public MainMallHotAdapter(Context context, List<MainMallGoodsBean> list) {
         super(context, list);
-        mItemWidth = (ScreenDimenUtil.getInstance().getScreenWidth() - DpUtil.dp2px(60)) / 3;
         mOnClickListener = new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -40,15 +40,17 @@ public class MainMallHotAdapter extends RefreshAdapter<MainMallGoodsBean> {
                 }
             }
         };
+        mDisplayWidth = (ScreenDimenUtil.getInstance().getScreenWidth() - DpUtil.dp2px(30)) / 3;
+        mDisplayHeightMax = DpUtil.dp2px(95);
     }
     @NonNull
     @Override
     public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
         View itemView = mInflater.inflate(R.layout.item_product_recommend, viewGroup, false);
         // 设置固定宽度,避免每次绑定都设置
-        ViewGroup.LayoutParams params = itemView.getLayoutParams();
-        params.width = mItemWidth;
-        itemView.setLayoutParams(params);
+//        ViewGroup.LayoutParams params = itemView.getLayoutParams();
+//        params.width = mItemWidth;
+//        itemView.setLayoutParams(params);
         return new Vh(itemView);
     }
 
@@ -72,7 +74,8 @@ public class MainMallHotAdapter extends RefreshAdapter<MainMallGoodsBean> {
 
             void setData(MainMallGoodsBean bean) {
                 itemView.setTag(bean);
-                bean.display(mContext, mProductImg, 95, 95);
+//                DpUtil.dp2px(95))
+                bean.display(mContext, mProductImg, mDisplayWidth, mDisplayHeightMax);
                 mName.setText(bean.getName());
                 mPrice.setText(bean.getPrice());
             }

+ 4 - 0
ybvideoandroid/main/src/main/java/com/yunbao/main/adapter/MallClassAdapter.java

@@ -74,6 +74,8 @@ public class MallClassAdapter extends RefreshAdapter<GoodsSimpleBean> {
         TextView mPirce;
         TextView mSaleNum;
         TextView mOriginPrice;
+        View mCoupon;
+        TextView mCouponText;
 
         public Vh(@NonNull View itemView) {
             super(itemView);
@@ -83,6 +85,8 @@ public class MallClassAdapter extends RefreshAdapter<GoodsSimpleBean> {
             mSaleNum = itemView.findViewById(R.id.sale_num);
             mOriginPrice = itemView.findViewById(R.id.origin_price);
             mOriginPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
+            mCoupon = itemView.findViewById(R.id.coupon);
+            mCouponText = itemView.findViewById(R.id.coupon_text);
             itemView.setOnClickListener(mOnClickListener);
         }
 

+ 39 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/bean/EcommerceCategoryBean.java

@@ -1,2 +1,39 @@
-package com.yunbao.main.bean;public class EcommerceCategoryBean {
-}
+package com.yunbao.main.bean;
+
+public class EcommerceCategoryBean {
+    private String id;
+    private String name;
+    private String iconUrl;
+
+    public EcommerceCategoryBean() {}
+
+    public EcommerceCategoryBean(String id, String name, String iconUrl) {
+        this.id = id;
+        this.name = name;
+        this.iconUrl = iconUrl;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getIconUrl() {
+        return iconUrl;
+    }
+
+    public void setIconUrl(String iconUrl) {
+        this.iconUrl = iconUrl;
+    }
+}

+ 67 - 2
ybvideoandroid/main/src/main/java/com/yunbao/main/bean/EcommerceProductBean.java

@@ -1,2 +1,67 @@
-package com.yunbao.main.bean;public class EcommerceProductBean {
-}
+package com.yunbao.main.bean;
+
+public class EcommerceProductBean {
+    private String id;
+    private String name;
+    private String price;
+    private String imageUrl;
+    private String salesCount;
+    private String categoryId;
+    private String description;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPrice() {
+        return price;
+    }
+
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+    public String getImageUrl() {
+        return imageUrl;
+    }
+
+    public void setImageUrl(String imageUrl) {
+        this.imageUrl = imageUrl;
+    }
+
+    public String getSalesCount() {
+        return salesCount;
+    }
+
+    public void setSalesCount(String salesCount) {
+        this.salesCount = salesCount;
+    }
+
+    public String getCategoryId() {
+        return categoryId;
+    }
+
+    public void setCategoryId(String categoryId) {
+        this.categoryId = categoryId;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+}

+ 10 - 0
ybvideoandroid/main/src/main/java/com/yunbao/main/bean/MainMallGoodsBean.java

@@ -2,6 +2,7 @@ package com.yunbao.main.bean;
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.text.TextUtils;
 import android.view.ViewGroup;
 import android.widget.ImageView;
 
@@ -62,4 +63,13 @@ public class MainMallGoodsBean extends GoodsSimpleBean {
             }
         }
     }
+    public boolean isEqual(MainMallGoodsBean bean) {
+        if (bean == null) {
+            return false;
+        }
+        if (TextUtils.isEmpty(mId) || !mId.equals(bean.getId())) {
+            return false;
+        }
+        return true;
+    }
 }

+ 1 - 0
ybvideoandroid/main/src/main/java/com/yunbao/main/http/MainHttpConsts.java

@@ -74,6 +74,7 @@ public class MainHttpConsts {
     public static final String GET_SHOP_CLASS_LIST = "getShopClassList";
     public static final String GET_SHOP_THREE_CLASS = "getShopThreeClass";
     public static final String GET_HOME_GOODS_LIST = "getHomeGoodsList";
+    public static final String GET_SHOP_TWO_CLASS = "getShopTwoClass";
     public static final String SEARCH_GOODS_LIST = "searchGoodsList";
     public static final String GET_AUTHOR_OFFICIAL_ACTIVES = "getAuthorOfficialActives";
     public static final String GET_AUTHOR_ACTIVE_INFO = "getAuthorActiveInfo";

+ 14 - 1
ybvideoandroid/main/src/main/java/com/yunbao/main/http/MainHttpUtil.java

@@ -991,13 +991,26 @@ public class MainHttpUtil {
      * 获取首页商品列表
      */
 //    添加一个可选参数shopclassid
-    public static void getHomeGoodsList(int p, String shopclassid, HttpCallback callback) {
+    public static void getHomeGoodsList(int p, String type, HttpCallback callback) {
         HttpClient.getInstance().get("Home.getShopList", MainHttpConsts.GET_HOME_GOODS_LIST)
                 .params("uid", CommonAppConfig.getInstance().getUid())
                 .params("token", CommonAppConfig.getInstance().getToken())
                 .params("p", p)
+                .params("type", type)
+                .execute(callback);
+    }
+
+    /**
+     * 获取首页二级分类下的商品列表
+     */
+    public static void getHomeTwoClassList(int p, int shopclassid, HttpCallback callback) {
+        HttpClient.getInstance().get("Home.getShopTwoClass", MainHttpConsts.GET_SHOP_TWO_CLASS)
+                .params("uid", CommonAppConfig.getInstance().getUid())
+                .params("token", CommonAppConfig.getInstance().getToken())
                 .params("shopclassid", shopclassid)
+                .params("p", p)
                 .execute(callback);
+
     }
 
     /**

+ 1 - 1
ybvideoandroid/main/src/main/java/com/yunbao/main/views/AbsCashDetailViewHolder.java

@@ -61,7 +61,7 @@ public abstract class AbsCashDetailViewHolder extends AbsViewHolder {
             }
         });
         mWebView.getSettings().setJavaScriptEnabled(true);
-        mWebView.setBackgroundColor(ContextCompat.getColor(mContext, R.color.background));
+        mWebView.setBackgroundColor(0xfff6f6f6);
         mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
     }
 

+ 72 - 97
ybvideoandroid/main/src/main/java/com/yunbao/main/views/MainMallViewHolder.java

@@ -42,6 +42,7 @@ import com.yunbao.common.utils.RouteUtil;
 import com.yunbao.common.utils.WordUtil;
 import com.yunbao.main.R;
 import com.yunbao.main.activity.ChooseCityActivity;
+import com.yunbao.main.activity.GoodsFilterActivity;
 import com.yunbao.main.activity.MainActivity;
 import com.yunbao.main.activity.MallSearchActivity;
 import com.yunbao.main.activity.YoungOpenedActivity;
@@ -70,8 +71,6 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
     private boolean mBannerNeedUpdate;
     private List<BannerBean> mBannerList;
     private List<GoodsHomeClassBean> mClassList;
-
-    private List<GoodsHomeClassBean> mOneClassList;
     private RecyclerView mRecyclerViewClass;
     private boolean mClassShowed;
     private View mScrollIndicator;
@@ -92,9 +91,11 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
     private TextView mSpecialSeckillTip;
     private TextView mLocation;
     private String mCityVal;
-    private String mOneClassId;
+    private String mType;
     private ActivityResultCallback mChooseCityResultCallback;
 
+    private boolean mRecommendGoodsNeedUpdate;
+
     public MainMallViewHolder(Context context, ViewGroup parentView) {
         super(context, parentView);
     }
@@ -107,8 +108,10 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
     @Override
     public void init() {
         setStatusHeight();
+        mType = "1";
         findViewById(R.id.btn_search).setOnClickListener(this);
         findViewById(R.id.btn_shop_location).setOnClickListener(this);
+//        findViewById(R.id.btn_shop_filter).setOnClickListener(this);
         mLocation = findViewById(R.id.tv_shop_location);
         mRefreshView = findViewById(R.id.refreshView);
         mRefreshView.setEmptyLayoutId(R.layout.view_no_data_main_mall);
@@ -127,7 +130,7 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
 
             @Override
             public void loadData(int p, HttpCallback callback) {
-                MainHttpUtil.getHomeGoodsList(p, mOneClassId, callback);
+                MainHttpUtil.getHomeGoodsList(p, mType, callback);
             }
 
             @Override
@@ -149,26 +152,25 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
                     }
                 }
                 mBannerList = bannerList;
-                mOneClassList = JSON.parseArray(obj.getString("shoponeclass"), GoodsHomeClassBean.class);
 //                loadOneClassGoods();
-                mClassList = JSON.parseArray(obj.getString("shoptwoclass"), GoodsHomeClassBean.class);
-                // mClassList移除 mName为全部的
-                if (mClassList != null && mClassList.size() > 0) {
-                    for (int i = mClassList.size() - 1; i >= 0; i--) {
-                        if (mClassList.get(i).getName().equals(mContext.getString(R.string.all))) {
-                            mClassList.remove(i);
+                mClassList = JSON.parseArray(obj.getString("shoponeclass"), GoodsHomeClassBean.class);
+                List<MainMallGoodsBean> recommendList = JSON.parseArray(obj.getString("recom_goods_list"), MainMallGoodsBean.class);
+                mRecommendGoodsNeedUpdate = false;
+                if (recommendList != null && recommendList.size() > 0) {
+                    if (mRecommendList == null || mRecommendList.size() != recommendList.size()) {
+                        mRecommendGoodsNeedUpdate = true;
+                    } else {
+                        for (int i = 0; i < mRecommendList.size(); i++) {
+                            MainMallGoodsBean bean = mRecommendList.get(i);
+                            if (bean == null || !bean.isEqual(recommendList.get(i))) {
+                                mRecommendGoodsNeedUpdate = true;
+                                break;
+                            }
                         }
                     }
                 }
-                mRecommendList = new ArrayList<MainMallGoodsBean>();
-                MainMallGoodsBean bean = new MainMallGoodsBean();
-                bean.setId("11");
-                bean.setName("乐山橙子");
-                bean.setPrice("19.9");
-                mRecommendList.add(bean);
-                mRecommendList.add(bean);
-                mRecommendList.add(bean);
-                return JSON.parseArray(obj.getString("shop_goods_list"), MainMallGoodsBean.class);
+                mRecommendList = recommendList;
+                return JSON.parseArray(obj.getString("shop_class_goods_list"), MainMallGoodsBean.class);
             }
 
             @Override
@@ -245,22 +247,22 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
             mTeenagerWrap.setVisibility(View.VISIBLE);
         }
 
-//        mRecommend = headView.findViewById(R.id.class_recommend);
-//        mRecyclerViewRecommend = headView.findViewById(R.id.hot_product_recyclerView);
-//        TextView tvTitle = headView.findViewById(R.id.tv_shop_name);
-//        String fullText = "爆款推荐";
-//        SpannableString spannable = new SpannableString(fullText);
-//        spannable.setSpan(
-//                new ForegroundColorSpan(Color.parseColor("#12CD7C")),
-//                0, 2,  // 开始位置到结束位置(不包含结束)
-//                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
-//        );
-//        spannable.setSpan(
-//                new ForegroundColorSpan(Color.parseColor("#333333")),
-//                2, fullText.length(),
-//                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
-//        );
-//        tvTitle.setText(spannable);
+        mRecommend = headView.findViewById(R.id.class_recommend);
+        mRecyclerViewRecommend = headView.findViewById(R.id.hot_product_recyclerView);
+        TextView tvTitle = headView.findViewById(R.id.tv_shop_name);
+        String fullText = "爆款推荐";
+        SpannableString spannable = new SpannableString(fullText);
+        spannable.setSpan(
+                new ForegroundColorSpan(Color.parseColor("#12CD7C")),
+                0, 2,  // 开始位置到结束位置(不包含结束)
+                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
+        );
+        spannable.setSpan(
+                new ForegroundColorSpan(Color.parseColor("#333333")),
+                2, fullText.length(),
+                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
+        );
+        tvTitle.setText(spannable);
 
         mNormalGoodsMenu = headView.findViewById(R.id.btn_normal_goods);
         mAgriculturalAssistanceMenu = headView.findViewById(R.id.btn_agricultural_assistance);
@@ -298,33 +300,6 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
         return 0;
     }
 
-    /**
-     * 加载一级分类下的商品
-     */
-    private void loadOneClassGoods() {
-        if (!TextUtils.isEmpty(mOneClassId)) {
-            MainHttpUtil.getHomeOneClassGoodsList(mOneClassId, "fold", new HttpCallback() {
-                @Override
-                public void onSuccess(int code, String msg, String[] info) {
-                    if (code == 0 && info.length > 0) {
-                        JSONObject obj = JSON.parseObject(info[0]);
-                        List<MainMallGoodsBean> goodsList = JSON.parseArray(obj.getString("list"), MainMallGoodsBean.class);
-                        if (mAdapter != null && goodsList != null) {
-                            mAdapter.refreshData(goodsList);
-                        }
-
-                    }
-                }
-                @Override
-                public void onError() {
-//                    toast
-
-
-                }
-            });
-        }
-    }
-
     private void showBanner() {
         if (mBanner == null || mBannerWrap == null) {
             return;
@@ -370,8 +345,21 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
             return;
         }
         mRecommend.setVisibility(View.VISIBLE);
-        ItemDecoration itemDecoration = new ItemDecoration(mContext, 0x00000000, DpUtil.dp2px(10), 0);
-        mRecyclerViewRecommend.addItemDecoration(itemDecoration);
+
+        if (!mRecommendGoodsNeedUpdate) {
+            return;
+        }
+
+        // 设置网格布局管理器,每行展示3个Item
+        GridLayoutManager layoutManager = new GridLayoutManager(mContext, 3);
+        mRecyclerViewRecommend.setLayoutManager(layoutManager);
+
+        // 清除之前的ItemDecoration,避免重复添加
+//        if (mRecyclerViewRecommend.getItemDecorationCount() > 0) {
+//            mRecyclerViewRecommend.removeItemDecorationAt(0);
+//        }
+//        ItemDecoration itemDecoration = new ItemDecoration(mContext, 0x00000000, DpUtil.dp2px(1), 0);
+//        mRecyclerViewRecommend.addItemDecoration(itemDecoration);
         MainMallHotAdapter adapter = new MainMallHotAdapter(mContext, mRecommendList);
         mRecyclerViewRecommend.setAdapter(adapter);
     }
@@ -400,6 +388,9 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
         int id = v.getId();
         if (id == R.id.btn_close_teenager) {
             YoungOpenedActivity.forward(mContext);
+//        } else if (id == R.id.btn_shop_filter) {
+////            打开GoodsFilterActivity
+//            GoodsFilterActivity.forward(mContext);
         } else if (id == R.id.btn_shop_location) {
             if (mChooseCityResultCallback == null) {
                 mChooseCityResultCallback = new ActivityResultCallback() {
@@ -435,15 +426,6 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
             }
             MallSearchActivity.forward(mContext);
         } else if (id == R.id.btn_normal_goods) {
-//            获取mNormalGoodsText文字和mOneClassList中mName一致的
-            for (GoodsHomeClassBean bean : mOneClassList) {
-                if (bean.getName().equals(mNormalGoodsText.getText().toString())) {
-                    if (bean.getId().equals(mOneClassId)) {
-                        return;
-                    }
-                    mOneClassId = bean.getId();
-                }
-            }
             // 普通商品
             mNormalGoodsText.setTextColor(Color.parseColor("#303132"));
 //            mNormalGoodsText.setTypeface(mNormalGoodsText.getTypeface(), Typeface.BOLD);
@@ -459,19 +441,14 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
 //            mSpecialSeckillText.setTypeface(mSpecialSeckillText.getTypeface(), Typeface.NORMAL);
             mSpecialSeckillTip.setBackground(null);
             mSpecialSeckillTip.setTextColor(Color.parseColor("#999999"));
-
-            if (mRefreshView != null) {
-                mRefreshView.initData();
-            }
-        } else if (id == R.id.btn_agricultural_assistance) {
-            for (GoodsHomeClassBean bean : mOneClassList) {
-                if (bean.getName().equals(mAgriculturalAssistanceText.getText().toString())) {
-                    if (bean.getId().equals(mOneClassId)) {
-                        return;
-                    }
-                    mOneClassId = bean.getId();
+            if (!mType.equals("1")){
+                mType = "1";
+                if (mRefreshView != null) {
+                    mRefreshView.initData();
                 }
             }
+
+        } else if (id == R.id.btn_agricultural_assistance) {
             // 助农特惠
             mAgriculturalAssistanceText.setTextColor(Color.parseColor("#303132"));
 //            mAgriculturalAssistanceText.setTypeface(mAgriculturalAssistanceText.getTypeface(), Typeface.BOLD);
@@ -487,18 +464,13 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
 //            mSpecialSeckillText.setTypeface(mSpecialSeckillText.getTypeface(), Typeface.NORMAL);
             mSpecialSeckillTip.setBackground(null);
             mSpecialSeckillTip.setTextColor(Color.parseColor("#999999"));
-            if (mRefreshView != null) {
-                mRefreshView.initData();
-            }
-        } else if (id == R.id.btn_special_seckill) {
-            for (GoodsHomeClassBean bean : mOneClassList) {
-                if (bean.getName().equals(mSpecialSeckillText.getText().toString())) {
-                    if (bean.getId().equals(mOneClassId)) {
-                        return;
-                    }
-                    mOneClassId = bean.getId();
+            if (!mType.equals("2")){
+                mType = "2";
+                if (mRefreshView != null) {
+                    mRefreshView.initData();
                 }
             }
+        } else if (id == R.id.btn_special_seckill) {
             // 特价秒杀
             mSpecialSeckillText.setTextColor(Color.parseColor("#303132"));
 //            mSpecialSeckillText.setTypeface(mSpecialSeckillText.getTypeface(), Typeface.BOLD);
@@ -514,8 +486,11 @@ public class MainMallViewHolder extends AbsMainViewHolder implements OnItemClick
 //            mAgriculturalAssistanceText.setTypeface(mAgriculturalAssistanceText.getTypeface(), Typeface.NORMAL);
             mAgriculturalAssistanceTip.setBackground(null);
             mAgriculturalAssistanceTip.setTextColor(Color.parseColor("#999999"));
-            if (mRefreshView != null) {
-                mRefreshView.initData();
+            if (!mType.equals("3")){
+                mType = "3";
+                if (mRefreshView != null) {
+                    mRefreshView.initData();
+                }
             }
         }
     }

+ 2 - 1
ybvideoandroid/main/src/main/res/drawable/bg_btn_profit.xml

@@ -3,7 +3,8 @@
     <item android:state_enabled="false">
         <shape xmlns:android="http://schemas.android.com/apk/res/android">
             <corners android:radius="4dp"/>
-            <solid android:color="#27223B"/>
+<!--            <solid android:color="#27223B"/>-->
+            <solid android:color="@color/gray4"/>
         </shape>
     </item>
     <item android:state_enabled="true" >

+ 4 - 3
ybvideoandroid/main/src/main/res/drawable/bg_coupon.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#DCFFE4 "/>
+    <corners android:radius="2dp"/>
+</shape>

+ 6 - 1
ybvideoandroid/main/src/main/res/drawable/bg_filter_container.xml

@@ -1,4 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
+<!--圆角-->
+    <item>
+        <shape>
+            <corners android:radius="5dp" />
+        </shape>
+    </item>
 </selector>

+ 4 - 3
ybvideoandroid/main/src/main/res/drawable/bg_filter_search.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="15dp"/>
+    <solid android:color="@color/white"/>
+</shape>

+ 4 - 3
ybvideoandroid/main/src/main/res/drawable/bg_goods_image.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#3ADD00"/>
+    <corners android:radius="5dp"/>
+</shape>

+ 5 - 3
ybvideoandroid/main/src/main/res/drawable/bg_goods_label.xml

@@ -1,4 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#F5F5F5"/>
+    <corners android:radius="3dp"/>
+    <stroke android:width="1dp" android:color="#E5E5E5"/>
+</shape>

+ 1 - 1
ybvideoandroid/main/src/main/res/drawable/bg_profit_edit.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <corners android:radius="10dp"/>
-    <solid android:color="@color/black1"/>
+    <solid android:color="@color/white"/>
 </shape>

+ 15 - 1
ybvideoandroid/main/src/main/res/drawable/bg_textview_rounded.xml

@@ -1,4 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
+    <!-- 选中状态 -->
+    <item android:state_selected="true">
+        <shape android:shape="rectangle">
+            <solid android:color="#3ADD00" />
+            <corners android:radius="10dp" />
+        </shape>
+    </item>
+
+    <!-- 默认状态 -->
+    <item>
+        <shape android:shape="rectangle">
+            <solid android:color="#FFFFFF" />
+            <corners android:radius="10dp" />
+        </shape>
+    </item>
 </selector>

+ 3 - 1
ybvideoandroid/main/src/main/res/drawable/bg_threeclass.xml

@@ -1,4 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
+<!--    未选择,背景颜色灰色,选择背景颜色白色-->
+    <item android:state_checked="false" android:drawable="@color/gray1"/>
+    <item android:state_checked="true" android:drawable="@color/white"/>
 </selector>

+ 6 - 3
ybvideoandroid/main/src/main/res/layout/activity_cash_detail.xml

@@ -1,14 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:background="#F6F6F6">
 
     <FrameLayout
         android:id="@+id/fl_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="@color/background"
+        android:background="@color/white"
         android:paddingTop="19dp">
 
         <RelativeLayout
@@ -24,7 +27,7 @@
                 android:onClick="backClick"
                 android:padding="9dp"
                 android:src="@mipmap/icon_back"
-                android:tint="@color/white" />
+                app:tint="@color/textColorBlack" />
 
             <net.lucode.hackware.magicindicator.MagicIndicator
                 android:id="@+id/indicator"

+ 10 - 7
ybvideoandroid/main/src/main/res/layout/activity_coin.xml

@@ -1,14 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:background="@color/white">
 
     <FrameLayout
         android:id="@+id/fl_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="@color/background"
+        android:background="@color/white"
         android:paddingTop="19dp">
 
         <RelativeLayout
@@ -24,7 +26,7 @@
                 android:gravity="center"
                 android:paddingLeft="20dp"
                 android:paddingRight="20dp"
-                android:textColor="@color/textColor"
+                android:textColor="#333333"
                 android:textSize="18sp"
                 android:textStyle="bold" />
 
@@ -36,7 +38,7 @@
                 android:onClick="backClick"
                 android:padding="9dp"
                 android:src="@mipmap/icon_back"
-                android:tint="@color/textColor" />
+                app:tint="#333333" />
 
             <ImageView
                 android:id="@+id/btn_charge_detail"
@@ -48,7 +50,7 @@
                 android:onClick="backClick"
                 android:padding="5dp"
                 android:src="@mipmap/icon_charge_detail"
-                android:tint="@color/white" />
+                app:tint="#333333" />
 
         </RelativeLayout>
     </FrameLayout>
@@ -89,14 +91,15 @@
             android:layout_width="12dp"
             android:layout_height="12dp"
             android:src="@mipmap/icon_jinggao"
-            android:layout_gravity="center_vertical"/>
+            android:layout_gravity="center_vertical"
+            app:tint="#E63A26"/>
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginStart="3dp"
             android:text="@string/pay_teenager_tip"
-            android:textColor="@color/global"
+            android:textColor="#E63A26"
             android:textSize="12sp"
             android:layout_gravity="center_vertical"/>
     </LinearLayout>

+ 114 - 4
ybvideoandroid/main/src/main/res/layout/activity_filter_goods.xml

@@ -1,6 +1,116 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-             android:layout_width="match_parent"
-             android:layout_height="match_parent">
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:background="@mipmap/icon_goods_filter_bg">
 
-</androidx.constraintlayout.widget.ConstraintLayout>
+    <!-- 状态栏占位 -->
+    <com.yunbao.common.custom.StatusBarView
+        android:layout_width="match_parent"
+        android:layout_height="0dp" />
+
+    <!-- 顶部搜索框 -->
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:gravity="center_vertical"
+        android:paddingLeft="15dp"
+        android:paddingRight="15dp">
+
+        <LinearLayout
+            android:id="@+id/search_layout"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_weight="1"
+            android:background="@drawable/bg_filter_search"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            android:paddingLeft="12dp"
+            android:paddingRight="12dp">
+
+            <ImageView
+                android:layout_width="16dp"
+                android:layout_height="16dp"
+                android:src="@mipmap/icon_main_search"
+                app:tint="#999999" />
+
+            <EditText
+                android:id="@+id/et_search"
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:background="@null"
+                android:hint="搜索商品"
+                android:paddingLeft="8dp"
+                android:singleLine="true"
+                android:textColor="@color/textColorBlack"
+                android:textColorHint="#999999"
+                android:textSize="14sp" />
+
+        </LinearLayout>
+
+
+    </LinearLayout>
+
+    <!-- 一级筛选项 -->
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="80dp"
+        android:orientation="vertical">
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:background="#E5E5E5" />
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/rv_primary_filter"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp" />
+
+    </LinearLayout>
+
+    <!-- 主要内容区域 -->
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:orientation="horizontal"
+        android:background="@drawable/bg_filter_container">
+
+        <!-- 左侧二级筛选项 -->
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="0.2"
+            android:orientation="vertical">
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/rv_secondary_filter"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                />
+
+        </LinearLayout>
+
+        <!-- 右侧商品列表 -->
+        <FrameLayout
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="0.8">
+
+            <com.yunbao.common.custom.CommonRefreshView
+                android:id="@+id/refresh_view"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                />
+        </FrameLayout>
+
+    </LinearLayout>
+
+</LinearLayout>

+ 3 - 2
ybvideoandroid/main/src/main/res/layout/activity_mall_class.xml

@@ -7,7 +7,7 @@
     >
 
     <FrameLayout
-        android:background="@color/white"
+        android:background="@drawable/bg_nav"
         android:id="@+id/fl_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
@@ -64,7 +64,8 @@
         android:layout_width="match_parent"
         android:layout_height="46dp"
         android:paddingLeft="10dp"
-        android:paddingRight="10dp">
+        android:paddingRight="10dp"
+        android:visibility="gone">
 
         <TextView
             android:id="@+id/btn_new"

+ 9 - 8
ybvideoandroid/main/src/main/res/layout/activity_my_profit.xml

@@ -2,13 +2,14 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:background="#F6F6F6">
 
     <FrameLayout
         android:id="@+id/fl_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="@color/background"
+        android:background="@color/white"
         android:paddingTop="19dp">
 
         <RelativeLayout
@@ -22,7 +23,7 @@
                 android:layout_centerHorizontal="true"
                 android:gravity="center"
                 android:text="@string/profit"
-                android:textColor="@color/textColor"
+                android:textColor="@color/textColorBlack"
                 android:textSize="18sp"
                 android:textStyle="bold" />
 
@@ -34,7 +35,7 @@
                 android:onClick="backClick"
                 android:padding="9dp"
                 android:src="@mipmap/icon_back"
-                android:tint="@color/textColor" />
+                android:tint="@color/textColorBlack" />
 
             <TextView
                 android:id="@+id/btn_cash_record"
@@ -57,7 +58,7 @@
         android:layout_marginTop="10dp"
         android:layout_marginRight="15dp"
         android:layout_marginBottom="10dp"
-        android:background="@mipmap/icon_profit_1"
+        android:background="@drawable/bg_nav"
         android:gravity="center_vertical"
         android:orientation="horizontal">
 
@@ -155,7 +156,7 @@
             android:hint="0"
             android:inputType="number"
             android:maxLength="10"
-            android:textColor="@color/global"
+            android:textColor="#E63A26"
             android:textColorHint="@color/gray5"
             android:textSize="20sp" />
 
@@ -188,7 +189,7 @@
             android:gravity="center_vertical"
             android:inputType="number"
             android:text="¥0"
-            android:textColor="@color/global"
+            android:textColor="#E63A26"
             android:textSize="20sp"
 
             />
@@ -268,7 +269,7 @@
         android:layout_marginLeft="55dp"
         android:layout_marginRight="55dp"
         android:layout_marginTop="15dp"
-        android:textColor="@color/gray5"
+        android:textColor="@color/textColorBlack"
         android:textSize="12sp"
         />
 </LinearLayout>

+ 3 - 3
ybvideoandroid/main/src/main/res/layout/item_coin_head.xml

@@ -15,9 +15,9 @@
 
         <ImageView
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
+            android:layout_height="200dp"
             android:adjustViewBounds="true"
-            android:src="@mipmap/icon_profit_1"
+            android:background="@drawable/bg_nav"
             />
 
         <LinearLayout
@@ -80,7 +80,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginStart="3dp"
                 android:text="@string/pay_teenager_tip"
-                android:textColor="@color/global"
+                android:textColor="#E63A26"
                 android:textSize="12sp"
                 android:layout_gravity="center_vertical"/>
         </LinearLayout>

+ 83 - 81
ybvideoandroid/main/src/main/res/layout/item_main_mall_head.xml

@@ -66,89 +66,91 @@
         </FrameLayout>
     </LinearLayout>
     
-<!--    <FrameLayout-->
-<!--        android:id="@+id/class_recommend"-->
-<!--        android:layout_width="match_parent"-->
-<!--        android:layout_height="wrap_content"-->
-<!--        android:layout_margin="10dp"-->
-<!--        >-->
-<!--        <ImageView-->
-<!--            android:layout_width="144dp"-->
-<!--            android:layout_height="48dp"-->
-<!--            android:layout_gravity="end|top"-->
-<!--            android:src="@mipmap/ic_bg_shop_hot_more"-->
-<!--            />-->
-<!--        <LinearLayout-->
-<!--            android:layout_width="match_parent"-->
-<!--            android:layout_height="193dp"-->
-<!--            android:orientation="vertical"-->
-<!--            android:background="@mipmap/ic_bg_shop_recommend"-->
+    <FrameLayout
+        android:id="@+id/class_recommend"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="10dp"
+        >
+        <ImageView
+            android:layout_width="144dp"
+            android:layout_height="48dp"
+            android:layout_gravity="end|top"
+            android:src="@mipmap/ic_bg_shop_hot_more"
+            />
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="193dp"
+            android:orientation="vertical"
+            android:background="@mipmap/ic_bg_shop_recommend"
 
-<!--            >-->
-<!--            <androidx.constraintlayout.widget.ConstraintLayout-->
-<!--                android:layout_width="match_parent"-->
-<!--                android:layout_height="39dp"-->
-<!--                android:orientation="horizontal"-->
-<!--                >-->
-<!--                <LinearLayout-->
-<!--                    android:id="@+id/leftContainer"-->
-<!--                    android:layout_width="0dp"-->
-<!--                    android:layout_height="match_parent"-->
-<!--                    android:orientation="horizontal"-->
-<!--                    app:layout_constraintStart_toStartOf="parent"-->
-<!--                    app:layout_constraintTop_toTopOf="parent"-->
-<!--                    app:layout_constraintBottom_toBottomOf="parent"-->
-<!--                    app:layout_constraintEnd_toStartOf="@id/btn_product_more"-->
-<!--                    android:gravity="center_vertical">-->
-<!--                    <TextView-->
-<!--                        android:id="@+id/tv_shop_name"-->
-<!--                        android:layout_width="wrap_content"-->
-<!--                        android:layout_height="24dp"-->
-<!--                        android:layout_marginLeft="10dp"-->
-<!--                        android:layout_gravity="center_vertical"-->
-<!--                        android:textSize="18sp"-->
-<!--                        android:textStyle="bold"-->
-<!--                        android:text="@string/hot_recommend"-->
-<!--                        />-->
-<!--                    <TextView-->
-<!--                        android:layout_width="wrap_content"-->
-<!--                        android:layout_height="wrap_content"-->
-<!--                        android:layout_marginLeft="10dp"-->
-<!--                        android:paddingLeft="5dp"-->
-<!--                        android:paddingRight="5dp"-->
-<!--                        android:paddingTop="1dp"-->
-<!--                        android:paddingBottom="1dp"-->
-<!--                        android:background="@drawable/bg_product_hot_tip"-->
-<!--                        android:layout_gravity="center_vertical"-->
-<!--                        android:textSize="10sp"-->
-<!--                        android:text="@string/hot_recommend_tip"-->
-<!--                        />-->
-<!--                </LinearLayout>-->
-<!--                <TextView-->
-<!--                    android:id="@+id/btn_product_more"-->
-<!--                    android:layout_width="wrap_content"-->
-<!--                    android:layout_height="14dp"-->
-<!--                    app:layout_constraintEnd_toEndOf="parent"-->
-<!--                    app:layout_constraintTop_toTopOf="parent"-->
-<!--                    android:layout_marginRight="10dp"-->
-<!--                    android:layout_marginTop="6dp"-->
-<!--                    android:text="爆款推荐 查看更多 >>"-->
-<!--                    android:textColor="#FFFFFF"-->
-<!--                    android:textSize="10sp"-->
-<!--                    />-->
-<!--            </androidx.constraintlayout.widget.ConstraintLayout>-->
+            >
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="39dp"
+                android:orientation="horizontal"
+                >
+                <LinearLayout
+                    android:id="@+id/leftContainer"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:orientation="horizontal"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toStartOf="@id/btn_product_more"
+                    android:gravity="center_vertical">
+                    <TextView
+                        android:id="@+id/tv_shop_name"
+                        android:layout_width="wrap_content"
+                        android:layout_height="24dp"
+                        android:layout_marginLeft="10dp"
+                        android:layout_gravity="center_vertical"
+                        android:textSize="18sp"
+                        android:textStyle="bold"
+                        android:text="@string/hot_recommend"
+                        />
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="10dp"
+                        android:paddingLeft="5dp"
+                        android:paddingRight="5dp"
+                        android:paddingTop="1dp"
+                        android:paddingBottom="1dp"
+                        android:background="@drawable/bg_product_hot_tip"
+                        android:layout_gravity="center_vertical"
+                        android:textSize="10sp"
+                        android:text="@string/hot_recommend_tip"
+                        />
+                </LinearLayout>
+                <TextView
+                    android:id="@+id/btn_product_more"
+                    android:layout_width="wrap_content"
+                    android:layout_height="14dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    android:layout_marginRight="10dp"
+                    android:layout_marginTop="6dp"
+                    android:text="爆款推荐 查看更多 >>"
+                    android:textColor="#FFFFFF"
+                    android:textSize="10sp"
+                    />
+            </androidx.constraintlayout.widget.ConstraintLayout>
 
-<!--            &lt;!&ndash; 商品RecyclerView &ndash;&gt;-->
-<!--            <androidx.recyclerview.widget.RecyclerView-->
-<!--                android:id="@+id/hot_product_recyclerView"-->
-<!--                android:layout_width="match_parent"-->
-<!--                android:layout_height="wrap_content"-->
-<!--                android:orientation="horizontal"-->
-<!--                android:layout_weight="1"-->
-<!--                android:layout_marginBottom="10dp"-->
-<!--                />-->
-<!--        </LinearLayout>-->
-<!--    </FrameLayout>-->
+            <!-- 商品RecyclerView -->
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/hot_product_recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:layout_weight="1"
+                android:layout_marginBottom="10dp"
+                android:paddingLeft="10dp"
+                android:paddingRight="10dp"
+                />
+        </LinearLayout>
+    </FrameLayout>
     <LinearLayout
         android:id="@+id/menuLayout"
         android:layout_width="match_parent"

+ 33 - 4
ybvideoandroid/main/src/main/res/layout/item_primary_filter.xml

@@ -1,6 +1,35 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-             android:layout_width="match_parent"
-             android:layout_height="match_parent">
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="wrap_content"
+    android:layout_height="match_parent"
+    android:gravity="center"
+    android:orientation="vertical"
+    android:paddingLeft="12dp"
+    android:paddingRight="12dp">
 
-</androidx.constraintlayout.widget.ConstraintLayout>
+    <com.makeramen.roundedimageview.RoundedImageView
+        android:id="@+id/iv_category_icon"
+        android:layout_width="40dp"
+        android:layout_height="40dp"
+        android:scaleType="centerCrop"
+        app:riv_corner_radius="20dp"
+        app:riv_border_width="2dp"
+        app:riv_border_color="#FFFFFF"/>
+
+
+    <TextView
+        android:id="@+id/tv_category_name"
+        android:layout_width="wrap_content"
+        android:layout_height="20dp"
+        android:layout_marginTop="4dp"
+        android:paddingLeft="5dp"
+        android:paddingRight="5dp"
+        android:gravity="center"
+        android:maxLines="1"
+        android:textColor="@color/textColorBlack"
+        android:textSize="14sp"
+        android:layout_gravity="center_vertical"
+        android:background="@drawable/bg_textview_rounded"/>
+
+</LinearLayout>

+ 117 - 4
ybvideoandroid/main/src/main/res/layout/item_product_grid.xml

@@ -1,6 +1,119 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-             android:layout_width="match_parent"
-             android:layout_height="match_parent">
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:background="@color/white">
 
-</androidx.constraintlayout.widget.ConstraintLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal"
+        android:layout_marginTop="5dp"
+        android:layout_marginBottom="5dp"
+        android:layout_marginLeft="10dp">
+        <com.makeramen.roundedimageview.RoundedImageView
+            android:id="@+id/iv_product_image"
+            android:layout_width="120dp"
+            android:layout_height="120dp"
+            android:scaleType="centerCrop"
+            />
+        <RelativeLayout
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            >
+            <TextView
+                android:id="@+id/tv_product_name"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentTop="true"
+                android:layout_marginLeft="8dp"
+                android:layout_marginTop="5dp"
+                android:layout_marginRight="8dp"
+                android:ellipsize="end"
+                android:textColor="@color/textColorBlack"
+                android:textSize="14sp"
+                android:textStyle="bold"
+                android:text="高原菜心苗约200g"/>
+            <TextView
+                android:id="@+id/tv_product_info"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_below="@id/tv_product_name"
+                android:layout_marginLeft="8dp"
+                android:layout_marginTop="5dp"
+                android:layout_marginRight="8dp"
+                android:textColor="@color/global"
+                android:textSize="10sp"
+                android:text="色泽碧绿|脆嫩清甜|水润多汁"
+                android:visibility="gone"
+                />
+            <TextView
+                android:id="@+id/tv_product_label"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@id/tv_product_info"
+                android:layout_marginLeft="8dp"
+                android:layout_marginTop="8dp"
+                android:paddingLeft="3dp"
+                android:paddingRight="3dp"
+                android:textColor="#FA403C"
+                android:textSize="10sp"
+                android:text="特惠"
+                android:visibility="gone"
+                android:background="@drawable/bg_goods_label"
+                />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_alignParentBottom="true"
+                android:layout_marginLeft="8dp"
+                android:layout_marginRight="8dp"
+                android:layout_marginBottom="8dp"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="¥"
+                    android:textColor="#FA403C"
+                    android:textSize="10sp"
+                    android:textStyle="bold" />
+
+                <TextView
+                    android:id="@+id/tv_product_price"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:textColor="#FA403C"
+                    android:textSize="14sp"
+                    android:textStyle="bold"
+                    android:text="100"/>
+
+                <TextView
+                    android:id="@+id/tv_sales_count"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textColor="#999999"
+                    android:textSize="10sp"
+                    android:text="已售10"/>
+
+            </LinearLayout>
+        </RelativeLayout>
+    </LinearLayout>
+
+    <!-- 新增的分割线 -->
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="#E6E6E6"
+        android:layout_marginTop="10dp"/>
+
+
+</LinearLayout>

+ 28 - 12
ybvideoandroid/main/src/main/res/layout/item_product_recommend.xml

@@ -1,22 +1,38 @@
-<?xml version="1.0" encoding="utf-8"?>
 <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:card_view="http://schemas.android.com/apk/res-auto"
-    android:layout_width="105dp"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
     android:layout_height="144dp"
+    android:layout_marginEnd="10dp"
     card_view:cardCornerRadius="10dp"
-    android:background="#fff8f6f7">
+    android:background="#f8f6f7">
 
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical"
-        >
-       <ImageView
-           android:id="@+id/product_img"
-           android:layout_width="95dp"
-           android:layout_height="95dp"
-           android:layout_gravity="center"
-           />
+        android:background="#f8f6f7">
+
+        <com.makeramen.roundedimageview.RoundedImageView
+            android:id="@+id/product_img"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:scaleType="centerCrop"
+            app:riv_corner_radius_top_left="5dp"
+            app:riv_corner_radius_top_right="5dp"
+            tools:layout_height="95dp"
+            android:padding="4dp"
+            tools:src="@mipmap/ic_test_avatar"
+            android:background="@drawable/bg_goods_image"/>
+
+
+<!--        <ImageView-->
+<!--            android:id="@+id/product_img"-->
+<!--            android:layout_width="95dp"-->
+<!--            android:layout_height="95dp"-->
+<!--            android:layout_gravity="center" />-->
+
         <TextView
             android:id="@+id/product_name"
             android:layout_width="match_parent"
@@ -35,6 +51,7 @@
             android:layout_weight="1"
             android:layout_marginTop="5dp"
             android:orientation="horizontal">
+
             <TextView
                 android:id="@+id/product_price"
                 android:layout_width="0dp"
@@ -53,8 +70,7 @@
                 android:background="@drawable/bg_btn_rush_buy"
                 android:text="抢"
                 android:textColor="#ffffffff"
-                android:textSize="12sp"
-                />
+                android:textSize="12sp" />
 
         </LinearLayout>
 

+ 18 - 4
ybvideoandroid/main/src/main/res/layout/item_secondary_filter.xml

@@ -1,6 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-             android:layout_width="match_parent"
-             android:layout_height="match_parent">
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?android:attr/selectableItemBackground"
+    android:gravity="center"
+    android:orientation="vertical"
+    android:paddingTop="12dp"
+    android:paddingBottom="12dp">
 
-</androidx.constraintlayout.widget.ConstraintLayout>
+    <TextView
+        android:id="@+id/tv_filter_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:maxLines="2"
+        android:textColor="@color/textColorBlack"
+        android:textSize="14sp" />
+
+</LinearLayout>

+ 37 - 11
ybvideoandroid/main/src/main/res/layout/item_shop_home.xml

@@ -19,7 +19,9 @@
         app:riv_corner_radius_top_left="5dp"
         app:riv_corner_radius_top_right="5dp"
         tools:layout_height="300dp"
-        tools:src="@mipmap/ic_test_avatar" />
+        android:padding="4dp"
+        tools:src="@mipmap/ic_test_avatar"
+        android:background="@drawable/bg_goods_image"/>
 
 
     <TextView
@@ -32,12 +34,36 @@
         android:layout_marginBottom="8dp"
         android:ellipsize="end"
         android:maxLines="2"
-        android:textColor="@color/textColorBlack"
-        android:textSize="15sp"
-        android:textStyle="bold"
+        android:textColor="#333333"
+        android:textSize="13sp"
         tools:text="啊啊啊啊啊"
         />
 
+    <LinearLayout
+        android:id="@+id/coupon"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="9dp"
+        android:layout_marginRight="9dp"
+        android:layout_marginTop="4dp"
+        android:gravity="center_vertical"
+        android:background="@drawable/bg_coupon"
+        android:orientation="horizontal"
+        android:visibility="gone">
+        <TextView
+            android:id="@+id/coupon_text"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="5dp"
+            android:layout_marginRight="5dp"
+            android:layout_marginTop="2dp"
+            android:layout_marginBottom="2dp"
+            android:textColor="#00B760"
+            android:textSize="11sp"
+            tools:text="赠送50秒杀抵扣券"
+            />
+    </LinearLayout>
+
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -53,8 +79,8 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/money_symbol"
-            android:textColor="@color/global"
-            android:textSize="11sp"
+            android:textColor="#FA403C"
+            android:textSize="16sp"
             android:textStyle="bold" />
 
         <TextView
@@ -62,7 +88,7 @@
             android:id="@+id/price"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@color/global"
+            android:textColor="#FA403C"
             android:textSize="16sp"
             android:textStyle="bold" />
 
@@ -75,16 +101,16 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="right"
-                android:textColor="@color/gray3"
-                android:textSize="13sp" />
+                android:textColor="#999999"
+                android:textSize="10sp" />
 
             <TextView
                 android:id="@+id/origin_price"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="right"
-                android:textColor="@color/gray3"
-                android:textSize="13sp" />
+                android:textColor="#999999"
+                android:textSize="10sp" />
 
         </FrameLayout>
 

+ 1 - 0
ybvideoandroid/main/src/main/res/layout/view_cash_detail.xml

@@ -4,4 +4,5 @@
     android:id="@+id/container"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="#f6f6f6"
     />

+ 42 - 22
ybvideoandroid/main/src/main/res/layout/view_main_mall.xml

@@ -59,36 +59,56 @@
             </LinearLayout>
 
             <LinearLayout
-                android:id="@+id/btn_search"
                 android:layout_width="match_parent"
                 android:layout_height="30dp"
-                android:layout_marginLeft="10dp"
-                android:layout_marginRight="10dp"
                 android:layout_marginBottom="7dp"
-                android:background="@drawable/bg_main_mall_search"
-                android:orientation="horizontal">
+                android:orientation="horizontal"
+                >
 
-                <ImageView
-                    android:layout_width="17dp"
-                    android:layout_height="17dp"
-                    android:layout_gravity="center_vertical"
+                <LinearLayout
+                    android:id="@+id/btn_search"
+                    android:layout_width="match_parent"
+                    android:layout_height="30dp"
                     android:layout_marginLeft="10dp"
-                    android:src="@mipmap/icon_main_search"
-                    app:tint="#7D7D7D" />
+                    android:layout_marginRight="10dp"
+                    android:background="@drawable/bg_main_mall_search"
+                    android:orientation="horizontal">
+
+                    <ImageView
+                        android:layout_width="17dp"
+                        android:layout_height="17dp"
+                        android:layout_gravity="center_vertical"
+                        android:layout_marginLeft="10dp"
+                        android:src="@mipmap/icon_main_search"
+                        app:tint="#7D7D7D" />
+
+                    <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:gravity="center_vertical"
+                        android:hint="@string/mall_387"
+                        android:paddingLeft="10dp"
+                        android:paddingRight="15dp"
+                        android:singleLine="true"
+                        android:textColor="@color/textColor"
+                        android:textColorHint="#7D7D7D"
+                        android:textSize="13sp" />
+                </LinearLayout>
+
+
+<!--                <ImageView-->
+<!--                    android:id="@+id/btn_shop_filter"-->
+<!--                    android:layout_width="24dp"-->
+<!--                    android:layout_height="24dp"-->
+<!--                    android:layout_gravity="center_vertical"-->
+<!--                    android:layout_marginRight="15dp"-->
+<!--                    android:layout_marginLeft="10dp"-->
+<!--                    android:src="@mipmap/icon_shop_filter"-->
+<!--                    />-->
 
-                <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:gravity="center_vertical"
-                    android:hint="@string/mall_387"
-                    android:paddingLeft="10dp"
-                    android:paddingRight="15dp"
-                    android:singleLine="true"
-                    android:textColor="@color/textColor"
-                    android:textColorHint="#7D7D7D"
-                    android:textSize="13sp" />
 
             </LinearLayout>
+
         </LinearLayout>
 
 

+ 4 - 3
ybvideoandroid/mall/src/main/res/drawable/bg_coupon.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#DCFFE4"/>
+    <corners android:radius="2dp"/>
+</shape>

+ 4 - 3
ybvideoandroid/mall/src/main/res/drawable/bg_goods_image.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#3ADD00"/>
+    <corners android:radius="5dp"/>
+</shape>

+ 7 - 3
ybvideoandroid/mall/src/main/res/drawable/bg_nav.xml

@@ -1,4 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  
-</selector>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+<!--渐变色 左到右 #D6FA73  #82E29D #04CB64-->
+    <gradient
+        android:angle="90"
+        android:endColor="#D6FA73"
+        android:startColor="#82E29D" />
+</shape>

+ 6 - 6
ybvideoandroid/mall/src/main/res/layout/activity_buyer_order_detail.xml

@@ -12,7 +12,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:background="@drawable/order_top"
+        android:background="@drawable/bg_nav"
         >
 
         <FrameLayout
@@ -97,7 +97,7 @@
                         android:layout_width="18dp"
                         android:layout_height="18dp"
                         android:src="@mipmap/buyer_17"
-                        android:tint="@color/global"
+                        app:tint="@color/gray3"
                         />
 
                     <TextView
@@ -106,7 +106,7 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_marginLeft="12dp"
-                        android:textColor="@color/global"
+                        android:textColor="@color/textColorBlack"
                         android:textSize="15sp" />
 
                 </LinearLayout>
@@ -145,7 +145,7 @@
                         android:layout_width="18dp"
                         android:layout_height="18dp"
                         android:src="@mipmap/buyer_03"
-                        android:tint="@color/gray3" />
+                        app:tint="@color/gray3" />
 
                     <TextView
                         tools:text="啊啊啊啊啊啊啊"
@@ -443,7 +443,7 @@
                         android:id="@+id/money"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:textColor="@color/global"
+                        android:textColor="#E63A26"
                         android:textSize="17sp" />
 
                 </LinearLayout>
@@ -564,7 +564,7 @@
                     android:minWidth="60dp"
                     android:onClick="orderDetailClick"
                     android:text="@string/copy"
-                    android:textColor="@color/global"
+                    android:textColor="#E63A26"
                     android:textSize="13sp" />
 
 

+ 3 - 3
ybvideoandroid/mall/src/main/res/layout/activity_goods_detail_mall.xml

@@ -138,14 +138,14 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:text="@string/money_symbol"
-                            android:textColor="@color/global"
+                            android:textColor="#E63A26"
                             android:textSize="16sp" />
 
                         <TextView
                             android:id="@+id/goods_price"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:textColor="@color/global"
+                            android:textColor="#E63A26"
                             android:textSize="23sp" />
 
                         <TextView
@@ -153,7 +153,7 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_marginLeft="25dp"
-                            android:textColor="@color/global"
+                            android:textColor="#E63A26"
                             android:textSize="13sp" />
 
                     </LinearLayout>

+ 6 - 6
ybvideoandroid/mall/src/main/res/layout/activity_goods_make_order.xml

@@ -176,7 +176,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="5dp"
-                android:textColor="@color/global"
+                android:textColor="#E63A26"
                 android:textSize="15sp" />
         </LinearLayout>
     </LinearLayout>
@@ -224,7 +224,7 @@
             android:paddingLeft="10dp"
             android:paddingRight="10dp"
             android:text="1"
-            android:textColor="@color/global"
+            android:textColor="@color/textColorBlack"
             android:textSize="16sp" />
 
         <TextView
@@ -281,7 +281,7 @@
             android:id="@+id/postage"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@color/global"
+            android:textColor="#E63A26"
             android:textSize="13sp" />
 
     </LinearLayout>
@@ -316,7 +316,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/money_symbol"
-            android:textColor="@color/global"
+            android:textColor="#E63A26"
             android:textSize="13sp"
             android:translationY="2dp" />
 
@@ -324,7 +324,7 @@
             android:id="@+id/pirce_all"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@color/global"
+            android:textColor="#E63A26"
             android:textSize="18sp" />
 
     </LinearLayout>
@@ -385,7 +385,7 @@
             android:layout_height="wrap_content"
             android:layout_marginLeft="15dp"
             android:layout_weight="1"
-            android:textColor="@color/global"
+            android:textColor="#E63A26"
             android:textSize="15sp" />
 
         <TextView

+ 37 - 10
ybvideoandroid/mall/src/main/res/layout/item_shop_home_left.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginLeft="10dp"
@@ -14,7 +15,9 @@
         android:layout_height="0dp"
         android:scaleType="centerCrop"
         app:riv_corner_radius_top_left="5dp"
-        app:riv_corner_radius_top_right="5dp" />
+        app:riv_corner_radius_top_right="5dp"
+        android:padding="4dp"
+        android:background="@drawable/bg_goods_image"/>
 
 
     <TextView
@@ -29,9 +32,33 @@
         android:lines="2"
         android:maxLines="2"
         android:minLines="2"
-        android:textColor="@color/textColorBlack"
-        android:textSize="15sp"
-        android:textStyle="bold" />
+        android:textColor="#333333"
+        android:textSize="13sp"
+        />
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="9dp"
+        android:layout_marginRight="9dp"
+        android:layout_marginTop="4dp"
+        android:gravity="center_vertical"
+        android:background="@drawable/bg_coupon"
+        android:orientation="horizontal"
+        android:visibility="gone">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="5dp"
+            android:layout_marginRight="5dp"
+            android:layout_marginTop="2dp"
+            android:layout_marginBottom="2dp"
+            android:textColor="#00B760"
+            android:textSize="11sp"
+            tools:text="赠送50秒杀抵扣券"
+            />
+    </LinearLayout>
+
 
 
     <LinearLayout
@@ -58,8 +85,8 @@
             android:id="@+id/price"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@color/global"
-            android:textSize="15sp" />
+            android:textColor="#FA403C"
+            android:textSize="16sp" />
 
         <FrameLayout
             android:layout_width="match_parent"
@@ -70,16 +97,16 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="right"
-                android:textColor="@color/gray3"
-                android:textSize="13sp" />
+                android:textColor="#999999"
+                android:textSize="10sp" />
 
             <TextView
                 android:id="@+id/origin_price"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="right"
-                android:textColor="@color/gray3"
-                android:textSize="13sp" />
+                android:textColor="#999999"
+                android:textSize="10sp" />
 
         </FrameLayout>
 

+ 36 - 10
ybvideoandroid/mall/src/main/res/layout/item_shop_home_right.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginRight="10dp"
@@ -14,7 +15,9 @@
         android:layout_height="0dp"
         android:scaleType="centerCrop"
         app:riv_corner_radius_top_left="5dp"
-        app:riv_corner_radius_top_right="5dp" />
+        app:riv_corner_radius_top_right="5dp"
+        android:padding="4dp"
+        android:background="@drawable/bg_goods_image"/>
 
 
     <TextView
@@ -29,9 +32,32 @@
         android:lines="2"
         android:maxLines="2"
         android:minLines="2"
-        android:textColor="@color/textColorBlack"
-        android:textSize="15sp"
-        android:textStyle="bold" />
+        android:textColor="#333333"
+        android:textSize="13sp" />
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="9dp"
+        android:layout_marginRight="9dp"
+        android:layout_marginTop="4dp"
+        android:gravity="center_vertical"
+        android:background="@drawable/bg_coupon"
+        android:orientation="horizontal"
+        android:visibility="gone">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="5dp"
+            android:layout_marginRight="5dp"
+            android:layout_marginTop="2dp"
+            android:layout_marginBottom="2dp"
+            android:textColor="#00B760"
+            android:textSize="11sp"
+            tools:text="赠送50秒杀抵扣券"
+            />
+    </LinearLayout>
+
 
 
     <LinearLayout
@@ -58,8 +84,8 @@
             android:id="@+id/price"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@color/global"
-            android:textSize="15sp" />
+            android:textColor="#FA403C"
+            android:textSize="16sp" />
 
         <FrameLayout
             android:layout_width="match_parent"
@@ -70,16 +96,16 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="right"
-                android:textColor="@color/gray3"
-                android:textSize="13sp" />
+                android:textColor="#999999"
+                android:textSize="10sp" />
 
             <TextView
                 android:id="@+id/origin_price"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="right"
-                android:textColor="@color/gray3"
-                android:textSize="13sp" />
+                android:textColor="#999999"
+                android:textSize="10sp" />
 
         </FrameLayout>
     </LinearLayout>