From a7b0ddec1d9536db55c83e9df75e800a99da5e33 Mon Sep 17 00:00:00 2001 From: zlzw <583819556@qq.com> Date: Sat, 20 Aug 2022 14:15:44 +0800 Subject: [PATCH] =?UTF-8?q?add:=E7=9B=B4=E6=92=AD=E9=97=B4=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E5=88=97=E8=A1=A8=E6=96=B0=E5=A2=9E=E6=97=A5=E6=A6=9C?= =?UTF-8?q?=E3=80=81=E5=91=A8=E6=A6=9C=20del:=E7=9B=B4=E6=92=AD=E9=97=B4?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E5=88=97=E8=A1=A8=E7=A7=BB=E9=99=A4=E5=AE=88?= =?UTF-8?q?=E6=8A=A4=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/custom/CommonRefreshView.java | 7 + .../java/com/yunbao/common/http/Data.java | 9 ++ .../com/yunbao/common/http/HttpCallback.java | 6 +- common/src/main/res/values-en/strings.xml | 2 + common/src/main/res/values/strings.xml | 2 + .../live/adapter/UserMoreInfoAdapter.java | 79 ++++++++- .../yunbao/live/bean/LiveUserRankBean.java | 56 +++++++ .../dialog/LiveUserMoreDialogFragment.java | 152 +++++++++++++----- .../com/yunbao/live/http/LiveHttpUtil.java | 11 ++ .../yunbao/live/views/LiveRoomViewHolder.java | 2 +- .../main/res/layout/dialog_user_more_list.xml | 20 +++ .../main/res/layout/item_user_more_info.xml | 10 ++ .../main/res/mipmap-mdpi/day_list_no_1.png | Bin 0 -> 7816 bytes .../main/res/mipmap-mdpi/day_list_no_2.png | Bin 0 -> 9051 bytes .../main/res/mipmap-mdpi/day_list_no_3.png | Bin 0 -> 8246 bytes 15 files changed, 303 insertions(+), 53 deletions(-) create mode 100644 live/src/main/java/com/yunbao/live/bean/LiveUserRankBean.java create mode 100644 live/src/main/res/mipmap-mdpi/day_list_no_1.png create mode 100644 live/src/main/res/mipmap-mdpi/day_list_no_2.png create mode 100644 live/src/main/res/mipmap-mdpi/day_list_no_3.png diff --git a/common/src/main/java/com/yunbao/common/custom/CommonRefreshView.java b/common/src/main/java/com/yunbao/common/custom/CommonRefreshView.java index cf2b2994d..4c9f024bb 100644 --- a/common/src/main/java/com/yunbao/common/custom/CommonRefreshView.java +++ b/common/src/main/java/com/yunbao/common/custom/CommonRefreshView.java @@ -291,6 +291,13 @@ public class CommonRefreshView extends FrameLayout implements View.OnClickListen mRecyclerView.addItemDecoration(itemDecoration); } + /** + * 手动设置没有更多数据 + * 因为日榜/周榜接口没有分页参数,会导致一直读取重复数据 + */ + public void setNotLoadMore(){ + mSmartRefreshLayout.finishLoadMoreWithNoMoreData(); + } public void showLoading() { mPageCount = 1; diff --git a/common/src/main/java/com/yunbao/common/http/Data.java b/common/src/main/java/com/yunbao/common/http/Data.java index 0d73a7d38..d304b8205 100644 --- a/common/src/main/java/com/yunbao/common/http/Data.java +++ b/common/src/main/java/com/yunbao/common/http/Data.java @@ -7,6 +7,7 @@ package com.yunbao.common.http; public class Data { private int code; private String msg; + private String data;//新增data字段,兼容Contribute.index接口 private String[] info; public int getCode() { @@ -32,4 +33,12 @@ public class Data { public void setInfo(String[] info) { this.info = info; } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } } diff --git a/common/src/main/java/com/yunbao/common/http/HttpCallback.java b/common/src/main/java/com/yunbao/common/http/HttpCallback.java index 11637be1a..dc31bfdea 100644 --- a/common/src/main/java/com/yunbao/common/http/HttpCallback.java +++ b/common/src/main/java/com/yunbao/common/http/HttpCallback.java @@ -45,7 +45,11 @@ public abstract class HttpCallback extends AbsCallback { //token过期,重新登录 RouteUtil.forwardLoginInvalid(data.getMsg()); } else { - onSuccess(data.getCode(), data.getMsg(), data.getInfo()); + if(data.getInfo().length==0){ + onSuccess(data.getCode(), data.getMsg(), new String[]{data.getData()}); + }else { + onSuccess(data.getCode(), data.getMsg(), data.getInfo()); + } } } else { L.e("服务器返回值异常--->ret: " + bean.getRet() + " msg: " + bean.getMsg()); diff --git a/common/src/main/res/values-en/strings.xml b/common/src/main/res/values-en/strings.xml index 6b2700e66..07f264a33 100644 --- a/common/src/main/res/values-en/strings.xml +++ b/common/src/main/res/values-en/strings.xml @@ -358,6 +358,8 @@ Microphone on failed View Online List + DayRank + WeekRank Viewers There is no anchor for the time being Let\'s start your live broadcast~ diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index e513747e8..6824fd2ec 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -574,6 +574,8 @@ 删除 結束 熱門 + 日榜 + 周榜 觀衆 红润 美白 diff --git a/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java b/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java index 017a664c3..500e55b14 100644 --- a/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java +++ b/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java @@ -1,15 +1,19 @@ package com.yunbao.live.adapter; import android.content.Context; +import android.graphics.Color; import android.graphics.drawable.Drawable; import androidx.annotation.NonNull; import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.RecyclerView; import android.util.Log; +import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import com.opensource.svgaplayer.SVGADrawable; @@ -20,17 +24,22 @@ import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.adapter.RefreshAdapter; import com.yunbao.common.bean.LevelBean; +import com.yunbao.common.bean.UserBean; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.utils.CommonIconUtil; +import com.yunbao.common.utils.DpUtil; +import com.yunbao.common.utils.RandomUtil; +import com.yunbao.common.utils.ToastUtil; import com.yunbao.live.R; import com.yunbao.live.activity.LiveActivity; import com.yunbao.live.bean.LiveUserGiftBean; +import com.yunbao.live.bean.LiveUserRankBean; import com.yunbao.live.dialog.LiveUserMoreDialogFragment; import java.net.MalformedURLException; import java.net.URL; -public class UserMoreInfoAdapter extends RefreshAdapter { +public class UserMoreInfoAdapter extends RefreshAdapter { // private static final int HEAD = 1; // private static final int NORMAL = 0; @@ -72,7 +81,6 @@ public class UserMoreInfoAdapter extends RefreshAdapter { // return NORMAL; return position; } - @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { @@ -83,8 +91,13 @@ public class UserMoreInfoAdapter extends RefreshAdapter { @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder vh, int position) { // vh.setIsRecyclable(false); + //type 3、4为日榜和周榜模式,数据与观众有差距,分开处理 + if(Integer.parseInt(type)>3){ + ((Vh)vh).setRankModel(true); + }else{ + ((Vh)vh).setRankModel(false); + } ((Vh) vh).setData(mList.get(position), position); - } @Override @@ -101,8 +114,12 @@ public class UserMoreInfoAdapter extends RefreshAdapter { ImageView mNoble; ImageView mSex; ImageView mLevel; + RelativeLayout mUserIcon; + LinearLayout mRanksIcon; SVGAImageView gift_svga; ImageView ivIcon; + ImageView rankImage; + TextView rankText; public Vh(@NonNull View itemView) { super(itemView); title1 = (TextView)itemView.findViewById(R.id.title1); @@ -116,9 +133,13 @@ public class UserMoreInfoAdapter extends RefreshAdapter { mSex = (ImageView) itemView.findViewById(R.id.sex); mLevel = (ImageView) itemView.findViewById(R.id.level); gift_svga = (SVGAImageView)itemView.findViewById(R.id.gift_svga); + mUserIcon = (RelativeLayout)itemView.findViewById(R.id.userIcon); + mRanksIcon = (LinearLayout)itemView.findViewById(R.id.ranks); + rankImage=new ImageView(mContext); + rankText=new TextView(mContext); } - void setData(final LiveUserGiftBean bean,int position) { + void setData(final UserBean bean,int position) { itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -144,11 +165,13 @@ public class UserMoreInfoAdapter extends RefreshAdapter { mIcon.setImageBitmap(null); ivIcon.setVisibility(View.GONE); tvName.setVisibility(View.GONE); + tvName.setTextSize(13); + tvName.setTextColor(mContext.getResources().getColor(R.color.white)); if(type.equals("1")) { if (!bean.getDress().getMedal().equals("")) { ImgLoader.display(mContext, bean.getDress().getMedal(), mIcon); } else { - int guardType = bean.getGuardType(); + int guardType = ((LiveUserGiftBean)bean).getGuardType(); if (guardType == Constants.GUARD_TYPE_NONE) { if (mIcon.getVisibility() != View.VISIBLE) { mIcon.setVisibility(View.INVISIBLE); @@ -167,7 +190,7 @@ public class UserMoreInfoAdapter extends RefreshAdapter { } } }else if(type.equals("2")){ - int guardType = bean.getGuardType(); + int guardType = ((LiveUserGiftBean)bean).getGuardType(); if (guardType == Constants.GUARD_TYPE_NONE) { if (mIcon.getVisibility() != View.VISIBLE) { mIcon.setVisibility(View.INVISIBLE); @@ -199,9 +222,31 @@ public class UserMoreInfoAdapter extends RefreshAdapter { } }); + }else if(type.equals("4")||type.equals("5")){//日、周榜 + tvName.setVisibility(View.VISIBLE); + tvName.setText(((LiveUserRankBean)bean).getTotal()+""); + tvName.setTextColor(Color.parseColor("#9E9E9E")); + tvName.setTextSize(12); + switch (position){ + case 0:rankImage.setImageResource(R.mipmap.day_list_no_1);break; + case 1:rankImage.setImageResource(R.mipmap.day_list_no_2);break; + case 2:rankImage.setImageResource(R.mipmap.day_list_no_3);break; + default: + rankText.setText((position+1)+""); + rankText.setTextColor(Color.parseColor("#FFFFFF")); + rankText.setTextSize(20); + rankText.setGravity(Gravity.CENTER); + } + mRanksIcon.removeAllViews(); + if (position>2){ + mRanksIcon.addView(rankText,0); + }else{ + mRanksIcon.addView(rankImage,0); + } } ImgLoader.display(mContext, bean.getAvatar(), mAvatar); - if(bean.getDress().getAvatar_frame()!=null){ + if(bean.getDress()!=null&&bean.getDress().getAvatar_frame()!=null){ + gift_svga.setVisibility(View.VISIBLE); if(bean.getDress().getAvatar_frame().contains("svga")) { try { new SVGAParser(mContext).parse(new URL(bean.getDress().getAvatar_frame()), new SVGAParser.ParseCompletion() { @@ -223,10 +268,12 @@ public class UserMoreInfoAdapter extends RefreshAdapter { ImgLoader.display(mContext,bean.getDress().getAvatar_frame(), gift_svga); } + }else{ + gift_svga.setVisibility(View.GONE); } mNoble.setVisibility(View.GONE); - if(bean.getDress().getMedal()!=null){ + if(bean.getDress()!=null&&bean.getDress().getMedal()!=null){ ImgLoader.displayAvatar(mContext, bean.getDress().getMedal(), mNoble); }else{ mNoble.setVisibility(View.GONE); @@ -238,6 +285,22 @@ public class UserMoreInfoAdapter extends RefreshAdapter { ImgLoader.display(mContext, levelBean.getThumb(), mLevel); } } + + /** + * 设置在榜单模式下,头像的位置 + * @param isRank 是否为榜单模式 + */ + private void setRankModel(boolean isRank){ + LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mUserIcon.getLayoutParams(); + if(isRank){ + mRanksIcon.setVisibility(View.VISIBLE); + params.leftMargin= DpUtil.dp2px(16); + }else{ + mRanksIcon.setVisibility(View.GONE); + params.leftMargin= DpUtil.dp2px(27); + } + mUserIcon.setLayoutParams(params); + } } diff --git a/live/src/main/java/com/yunbao/live/bean/LiveUserRankBean.java b/live/src/main/java/com/yunbao/live/bean/LiveUserRankBean.java new file mode 100644 index 000000000..50bec21f6 --- /dev/null +++ b/live/src/main/java/com/yunbao/live/bean/LiveUserRankBean.java @@ -0,0 +1,56 @@ +package com.yunbao.live.bean; + +import com.yunbao.common.bean.UserBean; + +/** + * Created by zlzw on 2022/8/20. + * 直播间榜单实体类 + */ + +public class LiveUserRankBean extends UserBean { + + private long total; + + public long getTotal() { + return total; + } + + public void setTotal(long total) { + this.total = total; + } + + @Override + public String toString() { + return "LiveUserRankBean{" + + "id='" + id + '\'' + + ", userNiceName='" + userNiceName + '\'' + + ", avatar='" + avatar + '\'' + + ", avatarThumb='" + avatarThumb + '\'' + + ", sex=" + sex + + ", signature='" + signature + '\'' + + ", coin='" + coin + '\'' + + ", gold='" + gold + '\'' + + ", votes='" + votes + '\'' + + ", consumption='" + consumption + '\'' + + ", votestotal='" + votestotal + '\'' + + ", province='" + province + '\'' + + ", city='" + city + '\'' + + ", location='" + location + '\'' + + ", birthday='" + birthday + '\'' + + ", level=" + level + + ", levelAnchor=" + levelAnchor + + ", lives=" + lives + + ", follows=" + follows + + ", fans=" + fans + + ", vip=" + vip + + ", liang=" + liang + + ", car=" + car + + ", medal_level=" + medal_level + + ", medal_name='" + medal_name + '\'' + + ", Dress=" + Dress + + ", noble_id='" + noble_id + '\'' + + ", yuanbao='" + yuanbao + '\'' + + ", total=" + total + + '}'; + } +} diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java index 8346120c5..36c1340b1 100644 --- a/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java +++ b/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java @@ -11,12 +11,15 @@ import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; +import android.widget.RelativeLayout; import android.widget.TextView; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.yunbao.common.Constants; import com.yunbao.common.adapter.RefreshAdapter; +import com.yunbao.common.bean.UserBean; import com.yunbao.common.custom.CommonRefreshView; import com.yunbao.common.dialog.AbsDialogFragment; import com.yunbao.common.http.HttpCallback; @@ -26,8 +29,10 @@ import com.yunbao.live.activity.LiveActivity; import com.yunbao.live.adapter.UserMoreInfoAdapter; import com.yunbao.live.bean.LiveGuardInfo; import com.yunbao.live.bean.LiveUserGiftBean; +import com.yunbao.live.bean.LiveUserRankBean; import com.yunbao.live.http.LiveHttpUtil; +import java.util.ArrayList; import java.util.List; /** @@ -44,7 +49,8 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie public static LiveActivity activity = null; public eightbitlab.com.blurview.BlurView blurView; - public TextView audience_btn, guard_btn, fans_btn, tags, btn, gz_view; + public TextView audience_btn, guard_btn, fans_btn, tags, btn, gz_view, dayRank, weekRank; + private RelativeLayout bottom_msg;//底部信息的布局,在榜单列表下不需要显示底部信息 private String Tips = "1"; private String type = "guanzhong"; ImageView no_more; @@ -109,10 +115,13 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie mLiveUid = bundle.getString(Constants.LIVE_UID); stream = bundle.getString(Constants.STREAM); audience_btn = mRootView.findViewById(R.id.audience_btn); + bottom_msg = mRootView.findViewById(R.id.bottom_msg); tags = mRootView.findViewById(R.id.tag); no_more = mRootView.findViewById(R.id.no_more); Tips = bundle.getString("By"); btn = mRootView.findViewById(R.id.btn); + dayRank = mRootView.findViewById(R.id.day_rank_btn);//日榜 + weekRank = mRootView.findViewById(R.id.week_rank_btn);//周榜 gz_view = mRootView.findViewById(R.id.gz_view); btn.setOnClickListener(new View.OnClickListener() { @Override @@ -163,18 +172,29 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie no_more.setImageResource(R.mipmap.bixin); } }); + dayRank.setOnClickListener(View->{ + Tips="4"; + Up(); + type="dayRank"; + mRefreshView.initData(); + no_more.setImageBitmap(null); + }); + weekRank.setOnClickListener(View->{ + Tips="5"; + Up(); + type="weekRank"; + mRefreshView.initData(); + no_more.setImageBitmap(null); + }); mRefreshView = mRootView.findViewById(R.id.refreshView); view_no = mRootView.findViewById(R.id.view_no); userMoreInfoAdapter = new UserMoreInfoAdapter(mContext, LiveUserMoreDialogFragment.this); Up(); mRefreshView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false)); - mRefreshView.setDataHelper(new CommonRefreshView.DataHelper() { + mRefreshView.setDataHelper(new CommonRefreshView.DataHelper() { @Override - public RefreshAdapter getAdapter() { - if (userMoreInfoAdapter == null) { - - } + public RefreshAdapter getAdapter() { userMoreInfoAdapter.notifyDataSetChanged(); return userMoreInfoAdapter; } @@ -182,18 +202,53 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie @Override public void loadData(int p, HttpCallback callback) { Log.i("tag111", p + "ssss"); - LiveHttpUtil.getUserList(mLiveUid, stream, type, p, callback); - pg = p; - if (p == 1) { - no_more.setVisibility(View.VISIBLE); - mRefreshView.setVisibility(View.GONE); + if(isRank()){ + LiveHttpUtil.getUserRankList(mLiveUid,callback); + //榜单没有分页需求 + mRefreshView.setPageCount(1); + }else { + LiveHttpUtil.getUserList(mLiveUid, stream, type, p, callback); + pg = p; + if (p == 1) { + no_more.setVisibility(View.VISIBLE); + mRefreshView.setVisibility(View.GONE); + } + } + + } + + @Override + public List processData(String[] info) { + JSONObject obj = JSON.parseObject(info[0]); + if(isRank()){ + return processRankData(obj); + }else { + return processUserData(obj); } } @Override - public List processData(String[] info) { - JSONObject obj = JSON.parseObject(info[0]); - List data = JSON.parseArray(obj.getString("userlist"), LiveUserGiftBean.class); + public void onRefreshSuccess(List list, int listCount) { + + } + + @Override + public void onRefreshFailure() { + + } + + @Override + public void onLoadMoreSuccess(List loadItemList, int loadItemCount) { + Log.i("tag333", "是" + nums); +// userMoreInfoAdapter.num = nums; +// userMoreInfoAdapter.insertList(loadItemList); + } + + @Override + public void onLoadMoreFailure() { + } + private List processUserData(JSONObject json){ + List data = JSON.parseArray(json.getString("userlist"), LiveUserGiftBean.class); Log.i("tag222", "ssss"); if (data.size() > 0 && pg == 1) { nums = 0; @@ -213,26 +268,17 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie } return data; } - - @Override - public void onRefreshSuccess(List list, int listCount) { - - } - - @Override - public void onRefreshFailure() { - - } - - @Override - public void onLoadMoreSuccess(List loadItemList, int loadItemCount) { - Log.i("tag333", "是" + nums); -// userMoreInfoAdapter.num = nums; -// userMoreInfoAdapter.insertList(loadItemList); - } - - @Override - public void onLoadMoreFailure() { + private List processRankData(JSONObject json){ + JSONArray rank=Integer.parseInt(Tips)==4?json.getJSONArray("list_day"):json.getJSONArray("list_week"); + List data =new ArrayList<>(); + for (Object o : rank) { + JSONObject item= (JSONObject) o; + LiveUserRankBean bean=JSON.parseObject(item.getString("userinfo"),LiveUserRankBean.class); + bean.setTotal(item.getLong("total")); + data.add(bean); + } + mRefreshView.setNotLoadMore(); + return data; } }); mRefreshView.initData(); @@ -252,13 +298,12 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie } void Up() { + bottom_msg.setVisibility(View.VISIBLE); if (Tips.equals("1")) { tags.setText("開通貴族,尊享超多特權!"); btn.setBackgroundResource(R.mipmap.btn_openvip); btn.setText("開通貴族"); - audience_btn.setTextColor(Color.parseColor("#fff6f7fb")); - guard_btn.setTextColor(Color.parseColor("#ff646464")); - fans_btn.setTextColor(Color.parseColor("#ff646464")); + setTextColor(audience_btn,guard_btn,fans_btn,weekRank,dayRank); gz_view.setVisibility(View.GONE); userMoreInfoAdapter.type = "1"; type = "guanzhong"; @@ -266,9 +311,7 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie tags.setText("快為您喜歡的主播開通守護吧"); btn.setBackgroundResource(R.mipmap.btn_openprotection); btn.setText("守護列表"); - audience_btn.setTextColor(Color.parseColor("#ff646464")); - guard_btn.setTextColor(Color.parseColor("#fff6f7fb")); - fans_btn.setTextColor(Color.parseColor("#ff646464")); + setTextColor(guard_btn,audience_btn,fans_btn,dayRank,weekRank); gz_view.setVisibility(View.GONE); userMoreInfoAdapter.type = "2"; no_more.setImageResource(R.mipmap.grayicon); @@ -277,13 +320,36 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie tags.setText("快加入您喜歡的主播粉絲團吧"); btn.setText("加入粉絲團"); btn.setBackgroundResource(R.mipmap.btn_joinfans); - audience_btn.setTextColor(Color.parseColor("#ff646464")); - guard_btn.setTextColor(Color.parseColor("#ff646464")); - fans_btn.setTextColor(Color.parseColor("#fff6f7fb")); + setTextColor(fans_btn,audience_btn,guard_btn,dayRank,weekRank); gz_view.setVisibility(View.GONE); userMoreInfoAdapter.type = "3"; type = "fans"; no_more.setImageResource(R.mipmap.bixin); + }else if(Tips.equals("4")){ + userMoreInfoAdapter.type = "4"; + bottom_msg.setVisibility(View.GONE); + type="dayRank"; + setTextColor(dayRank,audience_btn,guard_btn,fans_btn,gz_view,weekRank); + }else if (Tips.equals("5")){ + userMoreInfoAdapter.type = "5"; + bottom_msg.setVisibility(View.GONE); + type="weekRank"; + setTextColor(weekRank,audience_btn,guard_btn,fans_btn,gz_view,dayRank); } } + + /** + * 设置文本按钮颜色 + * @param light 高亮的文本 + * @param dark 暗淡的文本 + */ + private void setTextColor(TextView light,TextView... dark){ + light.setTextColor(Color.parseColor("#fff6f7fb")); + for (TextView textView : dark) { + textView.setTextColor(Color.parseColor("#ff646464")); + } + } + private boolean isRank(){ + return Integer.parseInt(Tips)>3; + } } diff --git a/live/src/main/java/com/yunbao/live/http/LiveHttpUtil.java b/live/src/main/java/com/yunbao/live/http/LiveHttpUtil.java index 6070759e1..7b30b9fe8 100644 --- a/live/src/main/java/com/yunbao/live/http/LiveHttpUtil.java +++ b/live/src/main/java/com/yunbao/live/http/LiveHttpUtil.java @@ -43,6 +43,17 @@ public class LiveHttpUtil { .execute(callback); } + /** + * 获取直播用户日榜/周榜 + * @param liveUid 主播uid + * @param callback 回调 + */ + public static void getUserRankList(String liveUid,HttpCallback callback){ + HttpClient.getInstance().get("Contribute.index", LiveHttpConsts.GET_USER_LIST) + .params("uid", liveUid) + .execute(callback); + } + /** * 获取当前直播间的连麦用户列表 */ diff --git a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java index 23880e41e..c81d168ca 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java @@ -1222,7 +1222,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis } else if (i == R.id.btn_prize_pool_level) { ((LiveActivity) mContext).openPrizePoolWindow(); } else if (i == R.id.user_more) { - ((LiveActivity) mContext).openUserMoreListWindow(1); + ((LiveActivity) mContext).openUserMoreListWindow(4); } else if (i == R.id.hot_btn) { ((LiveActivity) mContext).openUserMoreListWindow(1); diff --git a/live/src/main/res/layout/dialog_user_more_list.xml b/live/src/main/res/layout/dialog_user_more_list.xml index d8b169f17..8968196a6 100644 --- a/live/src/main/res/layout/dialog_user_more_list.xml +++ b/live/src/main/res/layout/dialog_user_more_list.xml @@ -31,6 +31,24 @@ android:layout_marginTop="20dp" android:layout_marginBottom="24dp" android:orientation="horizontal"> + + @@ -96,6 +115,7 @@ + Py8LPRR4%=Y03Q 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

|YK9?zLaM=%S(7EbiZx!;{kL3*mS<{4} zX^@J7x?SIWSQS@pIP0wEW^?`9cke!TsP1lYe7_@W=pgz~RAOscsoU`T$14GvUMW9}H zUpy2#SO2%O&U$*bi~sH)pZiayqJ7KNzZN=CdYD%>Yyd zf#>fURx{Upe0f(NgqRgi)A?_G>eyZ=39#x9-_vwVLMn z@UcPBl+|Gnh)71G*bwdbo_j#3>fbB*?CtMrX&F8qz|HiW(*k;H-=UL->y?{B;Nl1p zrm7-grZ8b;U^p&+2@0`g3 zKlji>S2Qd7)_lfNE!|{^SM|cHKJ~`ax6paM|LpG5Tk@HIRCN6k-w*PU3?bzhxMQzU z{AcO!g`z;!^dJiSmqI`M@_SY+zIi6=YUF394fObnerMONv!r6&uBc+UB7q>12%`Xz zP*APg@I3FqS`__HgzlqXy8QAfx$^IR_KOFba{0>&mW7OIKsOAOtJMcvI@^fFf$#o!*tNHQZSC3@CbN)F-21@Fc}=-rC%q^_P8gIJ^;hA;JYqV!?-JS!|z@PiN?&CP&FoShU2Eu?_Q%hy#E zQUGBXB8p;I$NzHzg|mcI6vg&k|F@=4K6%x$?kA5o;Ijgn7WGe${_Z=9z(t84kJWg%-A&^47|48jPG=Yld<^P8FyE2T$C%2I*t z2RJZ1goEW__)!E!&_kAJ$!5{j(uyWCGrErWA-zhRBo7QQb2+$y|H{ zRRGp->Yx+;%cD=MiA?1-Q&l?{XkBLj#vcSY{Se?00UohJfgc43f(TMbsX_=tH(=>H z3|)n)(4Po|{6>&f+h{8`!PHb}OivN^4i4gQwZf?Y3ZD2oir_biEZlQFn1+ERt?m3a z1YtO4-D8-KTPi(30imig48uwog}2UE@V9H0E_E7Z*R!_hZ|wZTnXYf&lQT1mC}N}= zN-cWg;`rVOIC`Dw-%)@tjIEydSXEWFWCDyVGkq&a&D0&6L0Zt-jKd=%cxm7;XRQlX z7AECg*clT{h#wC51wTODb5VC3wB-s|(A)xDQTTeJbTSFxWE6BBQYcQfKA`C8r^AeK z*ZTSMt8)c>)#jO62<>)c|RJsYp;67|^vK5L-qf;au<@hw8t-kvv2c4WGy@GID; zgMo`8IIf3^YeTn)V(5q70J3HkDgm8blYK*C)vS8_5U%gR@jTQWm;bvhTR?YfD<~== zz{e+ekH{e;)=v*#sA?ES!E*@0|M8yXOK+Ra{mluLuRQwLO}eVxn9o=m<&#Nf5x+L_ zAbuxDTD2WmISaY030;k~yB34MIqc*`Nqj;GdK-c;fJ>b1dvLuFuIHg_lZ8j2vs;Q2D}+9qY2HbxXlA@|lbU zQ`1K|wozcGbYOc9gWBHK0*yFXi7h#%4Pp+#6hVNK`XI|DT}^=dq0gG$^?i7rkDBA6 z<~U3{#Nn;EJg-~Ih}mp1%T6VVVP@z7dJ3>DkioycXVIburgN`z0{Y)}{o%qv&)u3e z&0@|plfdOj-T;G?y!K?Mkqi*{Av;Px4B-1A z9O7`-Mcwsadme<0*kQJ23mkN@@1B^89Cf7eb$J00b|j*oNl*Um`jZwvbFBLqUFXNX z{kX1m40LK5<_lG?4k~SZ-@D?>+OfX;rQbesiU{?4bEb7t-pa5;oG9_;4m7>#Yz!(Kw0wE$qVH9h6q7(u;3gEjw9N&jcKA>(RtLs?U+=h&y zO%C?BhnQNpu3PYY7n&-*sR-P(*KuB%ERW7W-?(X0KHt>#QK2a}s*oosiaMY`xzm=) zm%eh@g}aXi)_sQ$Ui<8x(${q%dJ35=ERGPTQXbQXo@j%>ta>i?4wund%wbh`H*0o> zEYf!1Iu2{-3_WPegs$uGeg6n4N9k(jV%GFA;6y8K5=aq$JAsc{z0UMP(Pdk{04lH1 z+c6epCXaLiy^zDytqj7z@AKW@2kiy(3u`7wLP4df?qcf=IaU9vu8Af?)!5kxRrQ@P zyw!JWf4yPNnn`u!{f7>J_r?7OKHxg8(o8^S5{Ec_ERXt01{o3u>vfbyDmZ=dA}nri z$1D5xVaH>SVecz_sMqVvr$p0a;VsQAc*Dw-xZu1uvc4wEO&K6{Yz&%A_*=$r3R^g( z3IZRlyt=|p!E^nm%8viezrW;7d$3`HvToHXaoW6jqW{n#>&X#QeB$!6zg-@w zzSpTcN-?o0y1_XSfAV^g&OTVJq8z$7f7w!4ii!sxei#q$_zk%_Wb z<6*?Ep{=zQ*Q{NOC5w7EDol@*PGSxwOC`WlN(tdH*dct+W6Q4CHXO%Ad!Y&Q^Gz&Y zQ*|?X&hdF#e&A{;ry8r*_RK#bTPgnL?nerlLa;4km~Y8vGa#p?Qw0T*JoHOLuKiCV zu4{*0ut<%=Oqqj^i+ZZ@c_5ws7M3SNpcuB8gInP8f8u zZjytkb^8HRRJm4Xj&IIp(Mds%PC?ID`7BO$#laVZDCIS=dTme7kw9;H`sw_ExDtIy zQ#OknWzaN@f%bzi3Z!(aj;-3ZtA|k_C`jcfPLPfj95_%50_7Gc>eAHNsSaAGDg^rN zI{HRNa7IrTI*LUcJaia8+`O6PSjI4+QAC*JRoEdWxo`qmj9RHg;QJixT>sv6C>D#O zk>EtGit{lf3CYSs29&^#0S{tlNpjG3P_EVB`T>^Bn}^O~OH3#H2GUzW(JrMKlu|LH zt-fX=(A%ZdUU>FTp9sC+3!w~iIo*P8#PW$81}&IGKbXu2Br zd(0wWVJ9Ue`l@AAy#VJeUyLl(4khsYO`Gs?Umx<>ELUDqkoh`EkwE$ZBt>}yHn%#( zIge_sj-`ti;o7UNqJnKA$zJUi#!Et83*Rq=^8tJ>K;8GLbBgu%;c^*Npg6N<3B17L z%pqxX0-3H0pwybnz8Yxyo2^gp>9jNI-+4js{vZlkH6Rd*`s*l){7^<0dqJqt+ezWB zDilb5WjWu)KvU3gMDQ?8XUL8WR3G%Pw^Bx1Qvs(e=-`NtUQOcPU+#JmJAeIa=!zO= z2z3pa);6?uEkIjKGc;9a5cZe$p;~$+rV<|S??MDNeKCtci=gpGiEDKa)r6HmN zrlviul*@)*Z261_@oCrdEaF5%)uF1f1B$_(-H}qozWN9bj8t*P;vUS)=SLTuEE+XG zz|VI+fxS;Y!Hql3D^}o~m8W7^d+VrXCnFxH+xYoozr(=p=U|x@-!ZLks9eVCi{66s z&ODPH+;or8oI1%svS`Oe)vjZpT!E$OIJvV6b^>%r#o{n2O$bq%pFfI4AM4^9q*PYD zxc5_j6n@Tey!mm~jFS9`Bbx5Y$9*oQiU_5V5mdtf=P!$?f-Ga=LC$r^w(+ya9*6I^ zxb%Yav9P7csnGG#jeJDkz##70vIUy&bM=IPrh4PzB}?%3zq)Kni=KFGDvL#kIBc&v z4)gTka)o1slRFlS13KdLFD)pVEzorF4I4Hnr}p+TI-waxzV)_Rz|qIwXj&6^nt{sDIGt)XDj;m@8{r!XpJ;-bFqkZ zS6{`vJCh@|YO-kCc2IF$43??jpy1?=PS_MQ1pymPynZSm6LsV!=jiEP{D*&h@eIun zU$$NU3R(mukyK4^VRov6UMvww9JK4`cj`EO;X*U=Vd63lH^3wY|e?PNx zaZ9G{^ZUz{4_K;}vkV=EM$(RC->cmtMOZJFhtZtR;nePh{Mpn?Pkp=7`vieP7XAHA zn=x>B0GVutfeu_3JI5`Z`bqkd@?aGuN^Q9YSoFBp zN_=VO6L-`d=bc^of}nDiu9Ff;v@~gM(mLfK>>V7&s-7-%x3zM8u+hZfJvysO&z_k0#wfdp1WB2YU`5#?VL^D;F(7TT`B!%uO>c;5Hg)0+bxq zP5=5G?)1%MvOGN?g8)`*8{T*IJ0M0|4yJl!V}E}vpjUP-K#d9q6tIx$VCBJC#8O+f z!9d@!Z{NnOY4$=!itYM%rmqCg_hA?Yx|*ACxKcqOn+3Ic5w#pIpe@tHPquEuuHXM2 zP5A;WD^6|^Rh)a_n{nhQIJJj4F-B!fB#0ID!ow{ zaqA26l@!(LZl#9O{`vQtAb()O^x;(hikI*Z_h&pY#T0t4UqG57X;)$30 z(3CS9P94 z7JX29i&6=(juxfPg0Xt-{0SA7IazdhC`=z1Mb?0u!-KvT3=DwS~C z9d~jygu3`CGEGZptxJ~R^7GH*7T~!?pU1N3Roy*Y2%zdY=c5zV5ov0vGnZSvcK(E# z;aq_JWu?5)jmQ~B%+dTn6$Q|R!BsuR_bUx(3Op@jOATy0pKiNbH>8ZNDWWyeYqhPt!Nsml?pch zOoE4cmME$G|75BXeyTf#`jQLsXT zKOM`K;mjpVKm(o>nU1yskawb5Z8Gn&e94j-CA5xZ(WiI!a0iv+@n9=QhIFL}T4{bE z(^%?wxLVohMd%HqfPtnp4GrV&`?jHP-vQ+FIUbLr5TA>} z6d_UTt`I!dMimdrc~E}_+iqgMoI=$#eBvV?VXB$#aRks*oV6+OUuM1jhMw3N+8$-^ zl4&pzbM*Y|aRORKB=6#1%+ZF4;RI;vXKtp*Fk|w595YEOQIpKw+qU5k&;AhPA0`dZQ>-9kE3NEoKIT)hZr;@kQ>(DCTp>TQs?4 za;o%bvn~?>AZplr&pp`l(#x=D22rPKPTYi^=CsqgUffSNd08wT%2#m1``*iG+UXuK z&~b6L=1~>g!J%>)d7UhJF(;L5FUj5|eI=n#O7n6Jw&+Ky)r}q^PAZM*XrO3V-2d>{ zi@SN|gk}Y)1B&!6m7A!UNl^dA6bC(!JMOs`dtQDSIZEWyTuIV$HolG%_rp!>ARjw9 zD*_1gUbmhf)N~Fq8%h)r&@_@k38WF*<|=qW*Kx*@B}Y&PSw2sbQQ|+_V0pKrR@vxC z5z9M%Z-_DlT1*QAl?rw||2zZCK+}*9mAojp5L9L1Lgq1NUWhvGeeglN)Yr%PWuhJK zzn-LAmR8s&15uKtD+2Go`W@WFeyk&YXmRU6JmnSg&=E;FN-NNPHCqwBtVTY8 zCU#lg3EG*Vv@qLX>ex}OZ1jcF8-@X!Cso{eG)*&bxKhR=&-{@aADKF`1hg5?6H>>i zs&HO}e7=FYpROOo3!C4?LvqxKW=>ImM|K%4gwBJ zYIU1?I|j;S?wvmGq!k#h);S+dabY|mAP}jdG%wSFrntzO31p&&oRvXqp}=_*4pL$fnaGXUJfy0Wx--qI*EH0k-Rj05LT?m| zMTX1TXF2@(&;T8 zZB8U2wdGRKL%dAAb)FwE-L*CqKz-n3P+a64r_ocac`!^UrG?o{W98iryZ+rs6(0<# z4=x=&m}LAQ9U!8B;^5#A`YR(m2}PwRYTdFZF{B$zCz?im*F-0AyBQB_CZiLxHSN?< zrw!vw5lN7d_CXVP)cWPRB;_3L?IS~IAxCanOmCDtN@o%$21K+rO5X-i*uN~Bz3|PA z)X_Wa>h+PTeNu+u*-}8EeU{Qey`&S3u_5Wj8k_VlXqUzs_74tm;)y&p(Fsk&8U{6) zlZDgXdV&=Ki42CDjXNGYn+ctaS}=DYQtvYrQseG^0+%VmryrU>bok#C`L$5{L?*+# z>d=M(d=Io=Na{G~_hNM41RiPjeSb&-x1Z5m{M;E6_HdfXnqOs5)WojThfh~D>slGf z^+I526b3roP?Bbdai3u2s-}QKso`oB2Zx3+RI4#{WXZa@>q%!0r$39^&EipHp6uh$ zJNEF$K9bQ1#y9R?CLShmX*&xF)p>-1c$l(q)PbrfXwBzQ%;(uC;*Qm%q`~))T$BEr z$2kOqu0}Elt3pwK?mO-eTU(d@^vX6-nYgy8Ry(b?b^D$@mgs0ZTTzVns|v1&!f*v4 z5r#x5W0UQ%1WL$FAZ|D(z(*?BKRk?@?Q-FOx{S!eO+y2vB-3b+L+>Oi1+zgv}A&o_6eaWfMoiLc-P?|gyzFzfGJJToX_)vO_c|O$zDEQb80XYY|%h|6hvjA zD%)ig+~s@T1Mgq9?BLM=YY5Qk$saj%sGv4CzcCDg^%BwBg%FF#(TpFg8Qs(%UONAi z=z%DnT4E2D%PgZPup#eGy&#klrHGQ8CV@?JGVCzvR}%Q7Krlm)n+xL}Y#NUs#X#c^ z?BtS}6v|VOPaqC%$rpIyipC^3!W@^78c%)P8qB*RL_SpYp(qG$b6oviYv)4)Q*GDT zP@q%5pOi8;SgT!R=<4-|qPIpeYK$lp3X;XVT(2O&##ysS1UyJ9dzM zTMBTpC@LtBk_ba@Z{P-ZM4q>?ZRyfy)(A1Pmedmk^mym6T}n%<4qqU2<8z8oE)K#l z%Vqj>3$=01GL>aytK=X_r&GZ5(!qX~Xw=9~Iy_b-aoRNA6eZmZ#pht7v$+|att~t@ zM-&nJi!l#LhmN~NPj>C?a;VvK^s9xg zuZx1{Qbkj;lpBe)YHU&|=1E%$14-2zl3WKX!#Frp=0QucY>v_j5S*J!JWrxD8ALf^mL?dp1Ay%00+ zj-2GC|13b$I%vD(=6b!ui2Mr;Bl95$`8FDW4{1bg+y++TLwfoi869N^Y443gLlx{f zu%FYFJYNWjMf2LRuzenHY(=QXgO*9YdekMP>NviXmCwPm?E^s={xd>(_x@7px&L_X zxznGOn})gn*?=Cuwyo9v&YU#Y(KZ%}P?v{6sPp{xBvg_DPq32WAPauJv=5bf9jg}g zpqR_W{mQ9S8y76a(k(vH3XNtM{gLnA5eCZt%67CoJ6jH(3hUPd&}`wGHmU7v*RIet z<(-PETo*?2EZ%6)_m7~H@!-?%1>{tJ|C#|hUFhRd>UFPrlJw!LtjrRrK2TX^E+#`hkjz^6eSQH1XYk)n!+LK%JEtJd$ns;lep ziCq6*4A3n0q!bSh4K*pcI8#&fe=nu{kgDs#bK2)`{X>leSW ztiBD$X(!$3Jh;~^bsTN++Xe=jvX*s;swkgp>Xq4t;O4^uzBpx3)fit`H5? z!gF~Tf2lynlp&>f#Bq88$`E>9r(qcP1=;M=YlLXncEoc5cl>w%qJbVS3BA5P?ae(s zcB6o4^m+cD0J_nj9FOz84)pOrb&_+w4)p6lpCANI&}Ck?=o19={{;z_P={fbH244j N002ovPDHLkV1nVIzeWH6 literal 0 HcmV?d00001 diff --git a/live/src/main/res/mipmap-mdpi/day_list_no_3.png b/live/src/main/res/mipmap-mdpi/day_list_no_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d58c89838b522f3a8cbcc168b40e05128fef551 GIT binary patch literal 8246 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 literal 0 HcmV?d00001