From d13e42e33db5771e376455420b342e2f3fd9b2c6 Mon Sep 17 00:00:00 2001 From: 18401019693 Date: Thu, 10 Nov 2022 13:48:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=9C=E4=BD=A0=E5=96=9C=E6=AC=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/CustomDrawerPopupAdapter.java | 42 ++++++++ .../common/adapter/RecommendAdapter.java | 19 ++++ .../common/views/CustomDrawerPopupView.java | 20 ++++ .../views/RecommendChildViewHolder.java | 20 ++++ .../common/views/RecommendViewHolder.java | 32 ++++++ .../res/layout/item_sidebar_lives_new.xml | 6 +- .../layout/view_drawer_recommend_child.xml | 3 +- .../live/activity/LiveAudienceActivity.java | 98 +++++++++++------- .../main/res/layout/view_live_audience.xml | 16 +-- .../res/mipmap-xxxhdpi/live_icon_more.png | Bin 9211 -> 4364 bytes 10 files changed, 204 insertions(+), 52 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java b/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java index b0cc3c2fd..34920b913 100644 --- a/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java @@ -1,5 +1,6 @@ package com.yunbao.common.adapter; +import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; @@ -10,7 +11,9 @@ import androidx.recyclerview.widget.RecyclerView; import com.yunbao.common.R; import com.yunbao.common.bean.AnchorRecommendItemModel; +import com.yunbao.common.bean.AnchorRecommendModel; import com.yunbao.common.bean.CustomSidebarInfoModel; +import com.yunbao.common.http.main.MainNetManager; import com.yunbao.common.views.DrawerRecommendViewHolder; import com.yunbao.common.views.DrawerTaskViewHolder; import com.yunbao.common.views.FunGamesViewHolder; @@ -85,6 +88,34 @@ public class CustomDrawerPopupAdapter extends RecyclerView.Adapter { RecommendViewHolder recommendViewHolder = (RecommendViewHolder) holder; recommendViewHolder.setData(infoModels.get(position)); recommendViewHolder.updateData(list); + recommendViewHolder.setListener(new RecommendViewHolder.RecommendViewListener() { + @Override + public void changeOneBatch() { + //推荐位 + MainNetManager.get((Activity) mContext) + .anchorRecommend("9", new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(AnchorRecommendModel anchorRecommendModel) { + + List models = anchorRecommendModel.getList(); + + recommendViewHolder.updateData(models); + } + + @Override + public void onError(String error) { + } + }); + } + + @Override + public void goToLive(AnchorRecommendItemModel model) { + if (listener != null) { + listener.goToLive(model); + } + } + }); + } } @@ -117,4 +148,15 @@ public class CustomDrawerPopupAdapter extends RecyclerView.Adapter { infoModels.addAll(mInfoModels); notifyDataSetChanged(); } + + private CustomDrawerListener listener; + + public CustomDrawerPopupAdapter setListener(CustomDrawerListener listener) { + this.listener = listener; + return this; + } + + public interface CustomDrawerListener { + void goToLive(AnchorRecommendItemModel model); + } } diff --git a/common/src/main/java/com/yunbao/common/adapter/RecommendAdapter.java b/common/src/main/java/com/yunbao/common/adapter/RecommendAdapter.java index 935608060..c840d10ec 100644 --- a/common/src/main/java/com/yunbao/common/adapter/RecommendAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/RecommendAdapter.java @@ -33,6 +33,14 @@ public class RecommendAdapter extends RecyclerView.Adapter { RecommendChildViewHolder itemViewHolder = (RecommendChildViewHolder) holder; itemViewHolder.setData(list.get(position)); + itemViewHolder.setListener(new RecommendChildViewHolder.RecommendChildListener() { + @Override + public void goToLive(AnchorRecommendItemModel model) { + if (callback != null) { + callback.goToLive(model); + } + } + }); } @Override @@ -45,4 +53,15 @@ public class RecommendAdapter extends RecyclerView.Adapter { list.addAll(mList); notifyDataSetChanged(); } + + private RecommendCallback callback; + + public RecommendAdapter setCallback(RecommendCallback callback) { + this.callback = callback; + return this; + } + + public interface RecommendCallback { + void goToLive(AnchorRecommendItemModel model); + } } diff --git a/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java b/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java index 237c664c5..1b8132a5d 100644 --- a/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java +++ b/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java @@ -48,12 +48,21 @@ public class CustomDrawerPopupView extends DrawerPopupView { } + private void initView() { drawerList = findViewById(R.id.drawerList); adapter = new CustomDrawerPopupAdapter(mContext); adapter.setList(list); drawerList.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false)); drawerList.setAdapter(adapter); + adapter.setListener(new CustomDrawerPopupAdapter.CustomDrawerListener() { + @Override + public void goToLive(AnchorRecommendItemModel model) { + if (callBack != null) { + callBack.goToLive(model); + } + } + }); } private void initData() { @@ -70,4 +79,15 @@ public class CustomDrawerPopupView extends DrawerPopupView { } }); } + + private CustomDrawerPopupCallBack callBack; + + public CustomDrawerPopupView setCallBack(CustomDrawerPopupCallBack callBack) { + this.callBack = callBack; + return this; + } + + public interface CustomDrawerPopupCallBack { + void goToLive(AnchorRecommendItemModel model); + } } \ No newline at end of file diff --git a/common/src/main/java/com/yunbao/common/views/RecommendChildViewHolder.java b/common/src/main/java/com/yunbao/common/views/RecommendChildViewHolder.java index 6f7957c7e..0e832ba91 100644 --- a/common/src/main/java/com/yunbao/common/views/RecommendChildViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/RecommendChildViewHolder.java @@ -12,6 +12,7 @@ import com.squareup.picasso.Picasso; import com.yunbao.common.R; import com.yunbao.common.bean.AnchorRecommendItemModel; import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.views.weight.ViewClicksAntiShake; public class RecommendChildViewHolder extends RecyclerView.ViewHolder { private ImageView cover; @@ -38,5 +39,24 @@ public class RecommendChildViewHolder extends RecyclerView.ViewHolder { } ImgLoader.display(itemView.getContext(), bean.getThumb(), cover); name.setText(bean.getUserNicename()); + ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + if (listener != null) { + listener.goToLive(bean); + } + } + }); + } + + private RecommendChildListener listener; + + public RecommendChildViewHolder setListener(RecommendChildListener listener) { + this.listener = listener; + return this; + } + + public interface RecommendChildListener { + void goToLive(AnchorRecommendItemModel model); } } diff --git a/common/src/main/java/com/yunbao/common/views/RecommendViewHolder.java b/common/src/main/java/com/yunbao/common/views/RecommendViewHolder.java index a68bb0a30..0f4b6f555 100644 --- a/common/src/main/java/com/yunbao/common/views/RecommendViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/RecommendViewHolder.java @@ -11,6 +11,7 @@ import com.yunbao.common.R; import com.yunbao.common.adapter.RecommendAdapter; import com.yunbao.common.bean.AnchorRecommendItemModel; import com.yunbao.common.bean.CustomSidebarInfoModel; +import com.yunbao.common.views.weight.ViewClicksAntiShake; import java.util.List; @@ -28,6 +29,24 @@ public class RecommendViewHolder extends RecyclerView.ViewHolder { recommendAdapter = new RecommendAdapter(itemView.getContext()); childList.setLayoutManager(new GridLayoutManager(itemView.getContext(), 3)); childList.setAdapter(recommendAdapter); + ViewClicksAntiShake.clicksAntiShake(subtitle, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + if (listener != null) { + listener.changeOneBatch(); + } + } + }); + recommendAdapter.setCallback(new RecommendAdapter.RecommendCallback() { + @Override + public void goToLive(AnchorRecommendItemModel model) { + if (listener != null) { + listener.goToLive(model); + } + } + }); + + } public void setData(CustomSidebarInfoModel model) { @@ -38,4 +57,17 @@ public class RecommendViewHolder extends RecyclerView.ViewHolder { public void updateData(List list) { recommendAdapter.updateData(list); } + + private RecommendViewListener listener; + + public RecommendViewHolder setListener(RecommendViewListener listener) { + this.listener = listener; + return this; + } + + public interface RecommendViewListener { + void changeOneBatch(); + + void goToLive(AnchorRecommendItemModel model); + } } diff --git a/common/src/main/res/layout/item_sidebar_lives_new.xml b/common/src/main/res/layout/item_sidebar_lives_new.xml index b9a0e1eaa..fcd0955ce 100644 --- a/common/src/main/res/layout/item_sidebar_lives_new.xml +++ b/common/src/main/res/layout/item_sidebar_lives_new.xml @@ -29,7 +29,7 @@ @@ -38,9 +38,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" - android:layout_margin="6dp" + android:layout_margin="4dp" android:textColor="#FFF6F7FB" - android:textSize="12sp" /> + android:textSize="11sp" /> \ No newline at end of file diff --git a/common/src/main/res/layout/view_drawer_recommend_child.xml b/common/src/main/res/layout/view_drawer_recommend_child.xml index 1e1edf44f..30b983b18 100644 --- a/common/src/main/res/layout/view_drawer_recommend_child.xml +++ b/common/src/main/res/layout/view_drawer_recommend_child.xml @@ -11,8 +11,7 @@ android:layout_height="40dp" android:layout_centerVertical="true" android:layout_marginStart="6dp" - android:scaleType="fitCenter" - android:src="@mipmap/icon_start_number" /> + android:scaleType="fitCenter" /> () { + .anchorRecommend("9", new com.yunbao.common.http.base.HttpCallback() { @Override public void onSuccess(AnchorRecommendModel anchorRecommendModel) { list.clear(); diff --git a/live/src/main/res/layout/view_live_audience.xml b/live/src/main/res/layout/view_live_audience.xml index 553800a23..f8ca03e26 100644 --- a/live/src/main/res/layout/view_live_audience.xml +++ b/live/src/main/res/layout/view_live_audience.xml @@ -341,13 +341,7 @@ android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="1" /> - - + - + + diff --git a/live/src/main/res/mipmap-xxxhdpi/live_icon_more.png b/live/src/main/res/mipmap-xxxhdpi/live_icon_more.png index 1d0939e931326f6aa9c38df4d3d8a32f3f202c17..3b02032fbeb703078a680f9cd1d30785a7ff0985 100644 GIT binary patch literal 4364 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 RN8