From cd74b7140ec3fba110fe2663f07e3c1d7ee2224d Mon Sep 17 00:00:00 2001 From: 18142669586 <1669783059@qq.com> Date: Sat, 7 Oct 2023 14:11:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/fragments/MyFragment.java | 148 +++++++++--------- .../shayu/onetoone/adapter/MainMeAdapter.java | 132 ++++++++++++++++ .../com/shayu/onetoone/bean/SlideBean.java | 91 +++++++++++ .../onetoone/view/CustomMyViewHolder.java | 29 ++++ OneToOne/src/main/res/layout/fragment_my.xml | 91 ++++++----- .../src/main/res/layout/item_main_me_2.xml | 42 +++++ gradle/wrapper/gradle-wrapper.properties | 4 +- 7 files changed, 415 insertions(+), 122 deletions(-) create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/bean/SlideBean.java create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/view/CustomMyViewHolder.java create mode 100644 OneToOne/src/main/res/layout/item_main_me_2.xml diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java index a1597fd8d..6c7669273 100644 --- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java +++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java @@ -19,6 +19,7 @@ import android.widget.TextView; import android.widget.Toast; import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.alibaba.fastjson.JSON; @@ -31,8 +32,11 @@ import com.opensource.svgaplayer.SVGAImageView; import com.opensource.svgaplayer.SVGAParser; import com.opensource.svgaplayer.SVGAVideoEntity; import com.shayu.onetoone.R; +import com.shayu.onetoone.adapter.MainMeAdapter; +import com.shayu.onetoone.bean.SlideBean; import com.shayu.onetoone.utils.MainHttpConsts; import com.shayu.onetoone.utils.MainHttpUtil; +import com.shayu.onetoone.view.CustomMyViewHolder; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.CommonAppContext; import com.yunbao.common.Constants; @@ -94,7 +98,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener mBannerListNew = new ArrayList<>(); + private List mBannerListNew = new ArrayList<>(); private void showData(UserBean u, List list) { -// mBannerList.clear(); -// mBannerListNew.clear(); + mBannerList.clear(); + mBannerListNew.clear(); if (!StringUtil.isEmpty(u.getSlide())) { -// mBannerListNew.addAll(JSON.parseArray(u.getSlide(), SlideBean.class)); -// for (SlideBean bean : mBannerListNew) { -// if (bean.getSlide_status().equals("1")) { -// mBannerList.add(bean); -// } -// } + mBannerListNew.addAll(JSON.parseArray(u.getSlide(), SlideBean.class)); + for (SlideBean bean : mBannerListNew) { + if (bean.getSlide_status().equals("1")) { + mBannerList.add(bean); + } + } } showBanner(); ImgLoader.displayAvatar(mContext, u.getAvatar(), mAvatar); @@ -398,13 +402,13 @@ public class MyFragment extends BaseFragment implements OnItemClickListener mBannerList = new ArrayList<>(); + public static List mBannerList = new ArrayList<>(); private void showBanner() { -// if (mBannerList == null || mBannerList.size() <= 0 || banner_me == null) { -// lt_advertisement.setVisibility(View.GONE); -// return; -// } -// lt_advertisement.setVisibility(View.VISIBLE); -// if (mBannerList.size() == 1) { -// banner_me.setAutoPlay(false) -// .setPages(mBannerList, new CustomMyViewHolder()) -// .setDelayTime(3000) -// .setBannerStyle(BannerConfig.NOT_INDICATOR) -// .setOnBannerClickListener(new OnBannerClickListener() { -// @Override -// public void onBannerClick(List datas, int p) { -// if (mBannerList != null) { -// if (p >= 0 && p < mBannerList.size()) { -// SlideBean bean = mBannerList.get(p); -// if (!bean.getSlide_url().equals("")) { -// Constants.isTitle = true; -// String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); -// WebViewActivity.forward(mContext, url, false, false); -// } -// } -// } -// } -// }) -// .start(); -// } else { -// banner_me.setAutoPlay(true) -// .setPages(mBannerList, new CustomMyViewHolder()) -// .setDelayTime(3000) -// .setBannerStyle(BannerConfig.NOT_INDICATOR) -// .setOnBannerClickListener(new OnBannerClickListener() { -// @Override -// public void onBannerClick(List datas, int p) { -// if (mBannerList != null) { -// if (p >= 0 && p < mBannerList.size()) { -// SlideBean bean = mBannerList.get(p); -// if (!bean.getSlide_url().equals("")) { -// Constants.isTitle = true; -// String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); -// RouteUtil.forwardCustomerService(url); -// /*if(bean.getSlide_id().equals("95")){ -// RouteUtil.forwardCustomerService(url); -// }else { -// ZhuangBanActivity.forward(mContext, url, false); -// }*/ -// } -// } -// } -// } -// }) -// .start(); -// } + if (mBannerList == null || mBannerList.size() <= 0 || banner_me == null) { + lt_advertisement.setVisibility(View.GONE); + return; + } + lt_advertisement.setVisibility(View.VISIBLE); + if (mBannerList.size() == 1) { + banner_me.setAutoPlay(false) + .setPages(mBannerList, new CustomMyViewHolder()) + .setDelayTime(3000) + .setBannerStyle(BannerConfig.NOT_INDICATOR) + .setOnBannerClickListener(new OnBannerClickListener() { + @Override + public void onBannerClick(List datas, int p) { + if (mBannerList != null) { + if (p >= 0 && p < mBannerList.size()) { + SlideBean bean = mBannerList.get(p); + if (!bean.getSlide_url().equals("")) { + Constants.isTitle = true; + String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); + WebViewActivity.forward(mContext, url, false, false); + } + } + } + } + }) + .start(); + } else { + banner_me.setAutoPlay(true) + .setPages(mBannerList, new CustomMyViewHolder()) + .setDelayTime(3000) + .setBannerStyle(BannerConfig.NOT_INDICATOR) + .setOnBannerClickListener(new OnBannerClickListener() { + @Override + public void onBannerClick(List datas, int p) { + if (mBannerList != null) { + if (p >= 0 && p < mBannerList.size()) { + SlideBean bean = mBannerList.get(p); + if (!bean.getSlide_url().equals("")) { + Constants.isTitle = true; + String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken(); + RouteUtil.forwardCustomerService(url); + /*if(bean.getSlide_id().equals("95")){ + RouteUtil.forwardCustomerService(url); + }else { + ZhuangBanActivity.forward(mContext, url, false); + }*/ + } + } + } + } + }) + .start(); + } } } diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java new file mode 100644 index 000000000..e9c40d6a1 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java @@ -0,0 +1,132 @@ +package com.shayu.onetoone.adapter; + +import static android.os.Build.VERSION_CODES.R; + +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.shayu.onetoone.R; +import com.yunbao.common.bean.UserItemBean; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.interfaces.OnItemClickListener; +import com.yunbao.common.views.weight.ViewClicksAntiShake; + +import java.util.List; + +/** + * Created by cxf on 2018/9/28. + */ + +public class MainMeAdapter extends RecyclerView.Adapter { + + private static final int NORMAL = 0; + private static final int GROUP_LAST = 1; + private static final int ALL_LAST = 2; + + private Context mContext; + private List mList; + private LayoutInflater mInflater; + private OnItemClickListener mOnItemClickListener; + + public MainMeAdapter(Context context, List list) { + mContext = context; + mList = list; + mInflater = LayoutInflater.from(context); + } + + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + mOnItemClickListener = onItemClickListener; + } + + @Override + public int getItemViewType(int position) { + UserItemBean bean = mList.get(position); + if (bean.isGroupLast()) { + return GROUP_LAST; + } else if (bean.isAllLast()) { + return ALL_LAST; + } else { + return NORMAL; + } + } + + + public void setList(List list) { + if (list == null) { + return; + } + boolean changed = false; + if (mList.size() != list.size()) { + changed = true; + } else { + for (int i = 0, size = mList.size(); i < size; i++) { + if (!mList.get(i).equals(list.get(i))) { + changed = true; + break; + } + } + } + if (changed) { + mList = list; + notifyDataSetChanged(); + } + } + + @NonNull + @Override + public Vh onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + int res = 0; +// if (viewType == GROUP_LAST) { +// res = R.layout.item_main_me_1;//竖向单列表 +// } else if (viewType == ALL_LAST) { + res = com.shayu.onetoone.R.layout.item_main_me_2;//横向4列 +// } else { +// res = R.layout.item_main_me_0; +// } + return new Vh(mInflater.inflate(res, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull Vh vh, int position) { + vh.setData(mList.get(position)); + } + + @Override + public int getItemCount() { + return mList.size(); + } + + class Vh extends RecyclerView.ViewHolder { + + ImageView mThumb; + TextView mName; + + public Vh(View itemView) { + super(itemView); + mThumb = (ImageView) itemView.findViewById(com.shayu.onetoone.R.id.thumb); + mName = (TextView) itemView.findViewById(com.shayu.onetoone.R.id.name); + ViewClicksAntiShake.clicksAntiShake(itemView, () -> { + Object tag = itemView.getTag(); + if (tag != null) { + UserItemBean bean = (UserItemBean) tag; + if (mOnItemClickListener != null) { + mOnItemClickListener.onItemClick(bean, 0); + } + } + }); + } + + void setData(UserItemBean bean) { + itemView.setTag(bean); + ImgLoader.display(mContext, bean.getThumb(), mThumb); + mName.setText(bean.getName()); + } + } +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/SlideBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/SlideBean.java new file mode 100644 index 000000000..46aae7741 --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/SlideBean.java @@ -0,0 +1,91 @@ +package com.shayu.onetoone.bean; + +/** + * Created by cxf on 2017/8/9. + */ + +public class SlideBean { + + public String listorder; + public String slide_cid; + public String slide_content; + public String slide_des; + public String slide_id; + public String slide_name; + public String slide_pic; + public String slide_status;//是否显示 1=显示 0=隐藏 + public String slide_url; + + public String getListorder() { + return listorder; + } + + public void setListorder(String listorder) { + this.listorder = listorder; + } + + public String getSlide_cid() { + return slide_cid; + } + + public void setSlide_cid(String slide_cid) { + this.slide_cid = slide_cid; + } + + public String getSlide_content() { + return slide_content; + } + + public void setSlide_content(String slide_content) { + this.slide_content = slide_content; + } + + public String getSlide_des() { + return slide_des; + } + + public void setSlide_des(String slide_des) { + this.slide_des = slide_des; + } + + public String getSlide_id() { + return slide_id; + } + + public void setSlide_id(String slide_id) { + this.slide_id = slide_id; + } + + public String getSlide_name() { + return slide_name; + } + + public void setSlide_name(String slide_name) { + this.slide_name = slide_name; + } + + public String getSlide_pic() { + return slide_pic; + } + + public void setSlide_pic(String slide_pic) { + this.slide_pic = slide_pic; + } + + public String getSlide_status() { + return slide_status; + } + + public void setSlide_status(String slide_status) { + this.slide_status = slide_status; + } + + public String getSlide_url() { + return slide_url; + } + + public void setSlide_url(String slide_url) { + this.slide_url = slide_url; + } + +} diff --git a/OneToOne/src/main/java/com/shayu/onetoone/view/CustomMyViewHolder.java b/OneToOne/src/main/java/com/shayu/onetoone/view/CustomMyViewHolder.java new file mode 100644 index 000000000..63c9a271f --- /dev/null +++ b/OneToOne/src/main/java/com/shayu/onetoone/view/CustomMyViewHolder.java @@ -0,0 +1,29 @@ +package com.shayu.onetoone.view; + +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import com.bumptech.glide.Glide; +import com.ms.banner.holder.BannerViewHolder; +import com.shayu.onetoone.bean.SlideBean; + + +public class CustomMyViewHolder implements BannerViewHolder { + + @Override + public View createView(Context context, int position, SlideBean data) { + // 返回mImageView页面布局 + ImageView imageView = new ImageView(context); + ViewGroup.LayoutParams params = new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT + ); + imageView.setLayoutParams(params); + imageView.setScaleType(ImageView.ScaleType.FIT_XY); + Glide.with(context).load(data.getSlide_pic()).into(imageView); + + return imageView; + } + +} diff --git a/OneToOne/src/main/res/layout/fragment_my.xml b/OneToOne/src/main/res/layout/fragment_my.xml index 2d9542a27..bdd748a84 100644 --- a/OneToOne/src/main/res/layout/fragment_my.xml +++ b/OneToOne/src/main/res/layout/fragment_my.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent" android:background="@color/gray2" android:orientation="vertical" - android:paddingBottom="50dp"> + android:paddingBottom="10dp"> + + + + + + + + - - + + + + - - - - - - - + @@ -293,10 +296,6 @@ android:layout_height="match_parent" android:gravity="bottom"> - - + diff --git a/OneToOne/src/main/res/layout/item_main_me_2.xml b/OneToOne/src/main/res/layout/item_main_me_2.xml new file mode 100644 index 000000000..6f3b7fd7a --- /dev/null +++ b/OneToOne/src/main/res/layout/item_main_me_2.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d8213d257..4e1cc9db6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,5 @@ -#Thu Sep 28 15:02:07 CST 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip -