6.5.4礼物冠名

This commit is contained in:
18401019693
2023-07-31 18:25:32 +08:00
parent a353e51ba8
commit 54458bd0c0
66 changed files with 2098 additions and 87 deletions

View File

@@ -90,7 +90,6 @@ import com.yunbao.live.bean.ImUserBean;
import com.yunbao.live.bean.LiveChatBean;
import com.yunbao.live.dialog.LiveFansFragment;
import com.yunbao.live.dialog.LiveGameDialogFragment;
import com.yunbao.live.dialog.LiveGiftDialogFragment;
import com.yunbao.live.dialog.LiveGiftPopup;
import com.yunbao.live.dialog.LiveHDDialogFragment;
import com.yunbao.live.dialog.LiveInputDialogFragment;
@@ -1433,6 +1432,17 @@ public class LiveAudienceActivity extends LiveActivity {
liveInputDialogFragment.setArguments(liveInputBundle);
liveInputDialogFragment.show(getSupportFragmentManager(), "LiveInputDialogFragment");
break;
case IS_ATTENTION:
if (manager != null) {
manager.setAttention(event.getLiveType());
}
break;
case GIFT_WALL:
if (manager != null) {
manager.showGiftWall();
}
break;
}

View File

@@ -0,0 +1,202 @@
package com.yunbao.live.dialog;
import android.content.DialogInterface;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.fragment.app.FragmentTransaction;
import com.lxj.xpopup.XPopup;
import com.makeramen.roundedimageview.RoundedImageView;
import com.yunbao.common.Constants;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.fragment.GiftAlreadyWallFragment;
import com.yunbao.common.fragment.GiftWithoutWallFragment;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.event.GiftTitleEvent;
import com.yunbao.live.event.LiveAudienceEvent;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
/**
* 礼物墙
*/
public class GiftWallDialog extends AbsDialogFragment {
private LinearLayout layoutLitIcon, layoutUnlitIcon, layoutAllServiceChampion;
private TextView textLitIcon, textUnlitIcon, textAllServiceChampion, anchorName, regularBubble;
private View viewAllServiceChampion, viewUnlitIcon, viewLitIcon, attention;
private RoundedImageView avatar;
private List<TextView> tabText = new ArrayList<>();
private List<View> tabView = new ArrayList<>();
private String mStream, mAnchorName, mLiveUid, mAvatarUrl;
private int isAttention = 0;//是否关注 0=没关注,
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bus.getOn(this);
initView();
initDate();
}
private void initView() {
layoutLitIcon = mRootView.findViewById(R.id.layout_lit_icon);
layoutUnlitIcon = mRootView.findViewById(R.id.layout_unlit_icon);
layoutAllServiceChampion = mRootView.findViewById(R.id.layout_all_service_champion);
textLitIcon = mRootView.findViewById(R.id.text_lit_icon);
textUnlitIcon = mRootView.findViewById(R.id.text_unlit_icon);
textAllServiceChampion = mRootView.findViewById(R.id.text_all_service_champion);
viewAllServiceChampion = mRootView.findViewById(R.id.view_all_service_champion);
viewUnlitIcon = mRootView.findViewById(R.id.view_unlit_icon);
viewLitIcon = mRootView.findViewById(R.id.view_lit_icon);
avatar = mRootView.findViewById(R.id.avatar);
attention = mRootView.findViewById(R.id.attention);
anchorName = mRootView.findViewById(R.id.anchor_name);
regularBubble = mRootView.findViewById(R.id.regular_bubble);
tabText.add(textLitIcon);
tabText.add(textUnlitIcon);
tabText.add(textAllServiceChampion);
tabView.add(viewLitIcon);
tabView.add(viewUnlitIcon);
tabView.add(viewAllServiceChampion);
selectTab(textLitIcon, viewLitIcon);
ViewClicksAntiShake.clicksAntiShake(layoutLitIcon, () -> {
selectTab(textLitIcon, viewLitIcon);
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.context_layout_gift, GiftAlreadyWallFragment.newInstance(mStream, mLiveUid));
transaction.commit();
});
ViewClicksAntiShake.clicksAntiShake(layoutUnlitIcon, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
selectTab(textUnlitIcon, viewUnlitIcon);
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.context_layout_gift, GiftWithoutWallFragment.newInstance(mStream, mLiveUid));
transaction.commit();
}
});
ViewClicksAntiShake.clicksAntiShake(layoutAllServiceChampion, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
selectTab(textAllServiceChampion, viewAllServiceChampion);
}
});
ViewClicksAntiShake.clicksAntiShake(attention, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
CommonHttpUtil.setAttention(mLiveUid, new CommonCallback<Integer>() {
@Override
public void callback(Integer isAttention) {
if (isAttention == 1) {
LiveActivity.sendSystemMessage(IMLoginManager.get(getContext()).getUserInfo().getUserNicename()
+ getActivity().getString(R.string.live_follow_anchor));
attention.setVisibility(View.GONE);
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.IS_ATTENTION).setLiveType(isAttention));
}
}
});
}
});
ViewClicksAntiShake.clicksAntiShake(regularBubble, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
new XPopup.Builder(getContext())
.asCustom(new RegularIntroducePopup(getContext()))
.show();
}
});
}
private void initDate() {
Bundle bundle = getArguments();
if (bundle == null) {
return;
}
mLiveUid = bundle.getString(Constants.LIVE_UID);
mStream = bundle.getString(Constants.STREAM);
mAnchorName = bundle.getString("mAnchorName");
mAvatarUrl = bundle.getString("mAvatarUrl");
isAttention = bundle.getInt("isAttention");
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.context_layout_gift, GiftAlreadyWallFragment.newInstance(mStream, mLiveUid));
transaction.commit();
ImgLoader.display(getContext(), mAvatarUrl, avatar);
anchorName.setText(mAnchorName);
attention.setVisibility(isAttention == 0 ? View.VISIBLE : View.GONE);
}
private void selectTab(TextView textView, View tab) {
for (TextView view : tabText) {
if (textView == view) {
view.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC);
} else {
view.setTypeface(Typeface.SANS_SERIF, Typeface.ITALIC);
}
}
for (View view : tabView) {
view.setVisibility(view == tab ? View.VISIBLE : View.GONE);
}
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
Bus.getOff(this);
}
// 返回自定义弹窗的布局
@Override
protected int getLayoutId() {
return R.layout.dialog_live_gift_wall;
}
@Override
protected int getDialogStyle() {
return R.style.dialog2;
}
@Override
protected boolean canCancel() {
return true;
}
@Override
protected void setWindowAttributes(Window window) {
window.setWindowAnimations(com.yunbao.common.R.style.bottomToTopAnim);
window.setDimAmount(0f);//去掉遮罩层(全透明)
WindowManager.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
window.setAttributes(params);
}
/**
* 关于点击礼物分类的通知
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onGiftTitleEvent(GiftTitleEvent event) {
}
}

View File

@@ -57,6 +57,7 @@ import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.NobleUtil;
import com.yunbao.common.utils.SVGAViewUtils;
@@ -175,7 +176,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
//设置礼物弹窗背景
ImgLoader.displayBlurLive(getContext(), R.drawable.backgroud_custom_gift2, gitBackground);
gitBackground.setAlpha(0.97f);
ImgLoader.display(getContext(), R.mipmap.icon_arrow_right, iconArrow);
ImgLoader.display(getContext(), R.mipmap.icon_arrow_right_2, iconArrow);
//礼物分类tab
LinearLayoutManager manager = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false);
giftTitle.setLayoutManager(manager);
@@ -239,7 +240,9 @@ public class LiveGiftPopup extends AbsDialogFragment {
.append("/h5/info/index.html?uid=")
.append(userInfo.getId())
.append("&token=")
.append(userInfo.getToken());
.append(userInfo.getToken())
.append("&no_back=1")
;
Bundle bundle = new Bundle();
bundle.putString("url", htmlUrl.toString());
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
@@ -269,6 +272,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
.append("&for");
Bundle bundle = new Bundle();
bundle.putString("url", htmlUrl.toString());
bundle.putInt("height", DeviceUtils.getScreenHeight(getActivity()) / 5 * 3);
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
fragment.setArguments(bundle);
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");
@@ -301,6 +305,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
.append("&for");
Bundle bundle = new Bundle();
bundle.putString("url", htmlUrl.toString());
LiveHDDialogFragment fragment = new LiveHDDialogFragment();
fragment.setArguments(bundle);
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");

View File

@@ -109,7 +109,7 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
private TextView mUnion;
private TextView mHonorVal;
private TextView mNobleTitleVal;
private TextView mLvVal;
private TextView mLvVal, textGiftWall, valueGiftWall;
private ImageView mFollowImage;
private ImageView mSex;
private ImageView good_nub_ico;
@@ -121,13 +121,13 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
private ImageView shawl;
private ImageView honorIcon;
private ImageView mTitleBg;
private ImageView mSetting;
private ImageView mSetting, iconGiftWall;
private UserBean mUserBean;
private LinearLayout mGuardLayout;
private LinearLayout mUnionLayout;
private LinearLayout mNobleIconLayout;
private LinearLayout mUserLevelLayout;
private LinearLayout mHonorLayout;
private LinearLayout mHonorLayout, giftWall;
private boolean mFollowing;
GifImageView btn_live;
SVGAImageView gift_svga;
@@ -239,6 +239,10 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
mNobleIconLayout = mRootView.findViewById(R.id.noble_icon_layout);
mNobleTitleVal = mRootView.findViewById(R.id.noble_title_val);
mHonorLayout = mRootView.findViewById(R.id.honor_layout);
giftWall = mRootView.findViewById(R.id.gift_wall);
textGiftWall = mRootView.findViewById(R.id.text_gift_wall);
valueGiftWall = mRootView.findViewById(R.id.value_gift_wall);
iconGiftWall = mRootView.findViewById(R.id.icon_gift_wall);
mTitleBg = mRootView.findViewById(R.id.title_bg);
mSetting = mRootView.findViewById(R.id.btn_setting);
mLvVal = mRootView.findViewById(R.id.user_card_lv_val);
@@ -264,6 +268,14 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
}
}
});*/
ViewClicksAntiShake.clicksAntiShake(giftWall, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.GIFT_WALL));
dismiss();
}
});
}
@@ -344,19 +356,6 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
case SETTING_ACTION_ANC_ADM:
mSetting.setVisibility(View.VISIBLE);
}
if (isAnchor) {
mGuardLayout.setVisibility(View.VISIBLE);
if (obj.containsKey("user_president_name") && !StringUtil.isEmpty(obj.getString("user_president_name"))) {
mUnion.setText(obj.getString("user_president_name"));
mUnionLayout.setVisibility(View.VISIBLE);
}
mNoble.setVisibility(View.GONE);
mUserLevelLayout.setBackgroundResource(R.drawable.bg_user_card_lv);
mNobleTitleVal.setText(R.string.live_noble_fens_anchor);
mNobleIconLayout.setBackgroundResource(R.drawable.bg_user_card_fans);
} else {
mUserLevelLayout.setBackgroundResource(R.drawable.bg_user_card_au_lv);
}
mName.setText(obj.getString("user_nicename"));
if (mUserBean.getGoodnum() != null && !mUserBean.getGoodnum().equals("")) {
if (!isAnchor) {
@@ -370,7 +369,34 @@ public class LiveUserDialogFragment extends AbsDialogFragment implements View.On
good_nub_ico.setVisibility(View.GONE);
mID.setText(mUserBean.getId());
}
giftWall.setBackgroundResource(R.drawable.bg_gift_wall_lv);
ImgLoader.display(mContext, R.drawable.icon_gift_wall, iconGiftWall);
textGiftWall.setText(mContext.getString(R.string.gift_wall));
valueGiftWall.setText(String.format(mContext.getString(R.string.has_been_lit), obj.getString("gift_wall_lighten_number")));
mSex.setImageResource(CommonIconUtil.getSexIconForUserCard(obj.getIntValue("sex")));
if (isAnchor) {
mGuardLayout.setVisibility(View.VISIBLE);
if (obj.containsKey("user_president_name") && !StringUtil.isEmpty(obj.getString("user_president_name"))) {
mUnion.setText(obj.getString("user_president_name"));
mUnionLayout.setVisibility(View.VISIBLE);
}
mNoble.setVisibility(View.GONE);
mUserLevelLayout.setBackgroundResource(R.drawable.bg_user_card_lv);
mHonorLayout.setBackgroundResource(R.drawable.bg_user_card_honor);
mNobleTitleVal.setText(R.string.live_noble_fens_anchor);
mNobleIconLayout.setBackgroundResource(R.drawable.bg_user_card_fans);
} else {
mUserLevelLayout.setBackgroundResource(R.drawable.bg_user_card_au_lv);
// giftWall.setBackgroundResource(R.drawable.bg_gift_wall_lv);
// mNobleIconLayout.setBackgroundResource(R.drawable.bg_user_card_fans);
// mHonorLayout.setBackgroundResource(R.drawable.bg_user_card_honor);
//
// ImgLoader.display(mContext, R.drawable.icon_gift_wall, mNobleIcon);
// ImgLoader.display(mContext, R.drawable.icon_gift_wall, mNobleIcon);
// textGiftWall.setText(mContext.getString(R.string.gift_wall));
// valueGiftWall.setText(String.format(mContext.getString(R.string.has_been_lit), obj.getString("gift_wall_lighten_number")));
}
LevelBean levelBean;
if (isAnchor) {
levelBean = CommonAppConfig.getInstance().getAnchorLevel(mUserBean.getLevelAnchor());

View File

@@ -0,0 +1,36 @@
package com.yunbao.live.dialog;
import android.content.Context;
import androidx.annotation.NonNull;
import com.lxj.xpopup.impl.FullScreenPopupView;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
/**
* 礼物冠名规则
*/
public class RegularIntroducePopup extends FullScreenPopupView {
public RegularIntroducePopup(@NonNull Context context) {
super(context);
}
@Override
protected int getImplLayoutId() {
return R.layout.rogular_introduce_popup;
}
@Override
protected void onCreate() {
super.onCreate();
//初始化
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.close_btn), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
dialog.dismiss();
}
});
}
}

View File

@@ -462,7 +462,9 @@ public class LiveAudienceEvent extends BaseModel {
BLIND_BOX(68, "盲盒全服通知"),
RED_PACKET(69, "RedPacket"),
RED_PACKET_SUPER_JACKPOT(70, "超级红包"),
INPUT_DIALOG(71, "输入框");
INPUT_DIALOG(71, "输入框"),
IS_ATTENTION(72,"是否关注主播"),
GIFT_WALL(73,"礼物墙");
private int type;
private String name;

View File

@@ -147,11 +147,11 @@ import com.yunbao.live.bean.WishlistItemModel;
import com.yunbao.live.custom.LiveLightView;
import com.yunbao.live.custom.RightGradual;
import com.yunbao.live.custom.TopGradual;
import com.yunbao.live.dialog.GiftWallDialog;
import com.yunbao.live.dialog.LiveFaceUnityDialogFragment;
import com.yunbao.live.dialog.LiveFansMedalDialogFragment;
import com.yunbao.live.dialog.LiveGameDialogFragment;
import com.yunbao.live.dialog.LiveHDDialogFragment;
import com.yunbao.live.dialog.LiveUserAnchorMailBoxWebInfoPopDialog;
import com.yunbao.live.dialog.LiveUserDialogFragment;
import com.yunbao.live.dialog.LiveWishListDialogFragment4Audience;
import com.yunbao.live.dialog.ReceiveRendPacketPopup;
@@ -350,7 +350,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
//接口整合新加参数
private GuardUserModel guardUserModel;
private static ViewFlipper flipper;
private static ViewFlipper flipper, wksAndGiftWall;
private TextView mRandomPkTimer;
//全服通知
@@ -948,6 +948,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
mic_view1 = (RelativeLayout) findViewById(R.id.mic_view1);
mic_view2 = (RelativeLayout) findViewById(R.id.mic_view2);
flipper = (ViewFlipper) findViewById(R.id.hour_rank_list);
wksAndGiftWall = (ViewFlipper) findViewById(R.id.live_wks_and_gift_wall);
mic_ico = (ImageView) findViewById(R.id.mic_ico);
newMessage = (ImageView) findViewById(R.id.new_message);
atMessage = (ImageView) findViewById(R.id.at_message);
@@ -1371,7 +1372,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
reloadIM();
// initStarChallengeStatus();
new LoadDian9TuUtil().loadDian9TuAssets2(mContext, liveWksLayout, "rectangle_new.png", 1);
new LoadDian9TuUtil().loadDian9TuAssets2(mContext, wishListLayout2, "rectangle_new.png", 1);
}
@@ -2428,13 +2429,13 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
}
});
//点击打开周星榜
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_wks_layout),
() -> {
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_WKS));
});
// //点击打开周星榜
// ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_wks_layout),
// () -> {
//
// Bus.get().post(new LiveAudienceEvent()
// .setType(LiveAudienceEvent.LiveAudienceType.LIVE_WKS));
// });
}
public static int pkEndIndex = 0;
@@ -2657,6 +2658,18 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
}
public void showGiftWall() {
GiftWallDialog giftWallDialog = new GiftWallDialog();
Bundle bundle = new Bundle();
bundle.putString(Constants.LIVE_UID, mLiveUid);
bundle.putString(Constants.LIVE_STREAM, mStream);
bundle.putString("mAnchorName", mAnchorName);
bundle.putString("mAvatarUrl", mAvatarUrl);
bundle.putInt("isAttention", isAttention);
giftWallDialog.setArguments(bundle);
giftWallDialog.show(((AbsActivity) mContext).getSupportFragmentManager(), "GiftWallDialog");
}
public boolean pkHandler = true;
//左上角显示对方主播头像及昵称
@@ -2811,6 +2824,56 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
}
/**
* 设置礼物墙和周星榜
*/
public void setGiftWall(String giftWallLightenNumber, String giftWallLightenTotal) {
if (wksAndGiftWall.getChildCount() > 0) {
wksAndGiftWall.removeAllViews();
}
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(DpUtil.dp2px(16), DpUtil.dp2px(16));
LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
textParams.leftMargin = DpUtil.dp2px(5);
textParams.rightMargin = DpUtil.dp2px(5);
params.leftMargin = DpUtil.dp2px(5);
View weekView = LayoutInflater.from(mContext).inflate(R.layout.view_wish_list, null);
ImageView weekViewPic = weekView.findViewById(R.id.wish_pic);
TextView week = weekView.findViewById(R.id.wish_index);
week.setLayoutParams(textParams);
week.setGravity(Gravity.CENTER);
week.setText(mContext.getString(R.string.live_wks));
weekViewPic.setImageResource(R.mipmap.live_icon_zhouxing);
weekViewPic.setLayoutParams(params);
if (!TextUtils.isEmpty(giftWallLightenNumber) && !TextUtils.isEmpty(giftWallLightenTotal)) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(mContext.getString(R.string.gift_wall))
.append(giftWallLightenNumber)
.append("/")
.append(giftWallLightenTotal);
View giftWall = LayoutInflater.from(mContext).inflate(R.layout.view_wish_list, null);
ImageView giftWallPic = giftWall.findViewById(R.id.wish_pic);
TextView giftText = giftWall.findViewById(R.id.wish_index);
giftText.setText(stringBuffer.toString());
giftText.setGravity(Gravity.CENTER);
giftText.setLayoutParams(textParams);
giftWallPic.setImageResource(R.mipmap.icon_gift_wall);
giftWallPic.setLayoutParams(params);
wksAndGiftWall.addView(giftWall);
ViewClicksAntiShake.clicksAntiShake(giftWall, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.GIFT_WALL));
}
});
}
ViewClicksAntiShake.clicksAntiShake(weekView, () -> Bus.get().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_WKS)));
wksAndGiftWall.addView(weekView);
wksAndGiftWall.startFlipping();
new LoadDian9TuUtil().loadDian9TuAssets2(mContext, liveWksLayout, "rectangle_new.png", 1);
}
/**
* 守护信息发生变化
@@ -5073,7 +5136,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
.setType(LiveAudienceEvent.LiveAudienceType.GIFT_POPUP)
.setmLiveUid(mLiveUid)
.setmStream(mStream)
.setmWishGiftId(data.getGiftId() + "")
.setmWishGiftId(data.getGiftId() + "")
.setIsContactGift(true));
}

View File

@@ -8,6 +8,7 @@ import android.app.Dialog;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.text.TextUtils;
@@ -80,6 +81,7 @@ import com.yunbao.live.bean.LivePKUserListBean;
import com.yunbao.live.bean.LiveReceiveGiftBean;
import com.yunbao.live.bean.OpenParametersModel;
import com.yunbao.live.dialog.BlowkissDialog;
import com.yunbao.live.dialog.GiftWallDialog;
import com.yunbao.live.dialog.NewUserDialog;
import com.yunbao.live.event.LinkMicTxAccEvent;
import com.yunbao.live.event.LiveAudienceEvent;
@@ -663,6 +665,8 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
mLiveRoomViewHolder.setFansNum(fansNum);
//红包相关
mLiveRoomViewHolder.setRedPackBtnVisible(Integer.parseInt(data.getEnterRoomInfo().getIsred()) == 1);
//礼物墙相关
mLiveRoomViewHolder.setGiftWall(data.getEnterRoomInfo().getGiftWallLightenNumber(), data.getEnterRoomInfo().getGiftWallLightenTotal());
}
//奖池等级
@@ -1903,6 +1907,18 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
public void setAttention(int attention) {
if (mLiveRoomViewHolder != null)
mLiveRoomViewHolder.setAttention(attention);
}
public void showGiftWall() {
if (mLiveRoomViewHolder!=null){
mLiveRoomViewHolder.showGiftWall();
}
}
/**
* 全服喇叭
*

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient android:angle="90" android:centerColor="#D5C9FF" android:endColor="#E5EBFF" android:startColor="#8C96FF" android:type="linear" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="10dp" />
<gradient android:angle="90" android:endColor="#FDFBFF" android:startColor="#F8EEFF" android:type="linear" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="112dp" android:height="56dp">
<shape android:shape="rectangle">
<gradient android:angle="180" android:endColor="#74C7FB" android:startColor="#CD8BFA" android:type="linear" android:useLevel="true" />
<corners android:radius="6dp" />
</shape>
</item>
</selector>

View File

@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="112dp" android:height="56dp">
<shape android:shape="rectangle">
<gradient android:type="linear" android:useLevel="true" android:startColor="#ffff9782" android:endColor="#ffffbf8a" android:angle="180" />
<gradient android:type="linear" android:useLevel="true" android:startColor="#FE9C54" android:endColor="#FFC764" android:angle="180" />
<corners android:radius="6dp" />
</shape>
</item>

View File

@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="112dp" android:height="56dp">
<shape android:shape="rectangle">
<gradient android:type="linear" android:useLevel="true" android:startColor="#fffe9afc" android:endColor="#ff8ab3ff" android:angle="180" />
<gradient android:type="linear" android:useLevel="true" android:startColor="#B76DFF" android:endColor="#D477EF" android:angle="180" />
<corners android:radius="6dp" />
</shape>
</item>

View File

@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="112dp" android:height="56dp">
<shape android:shape="rectangle">
<gradient android:type="linear" android:useLevel="true" android:startColor="#ffff8abd" android:endColor="#fffe9aaa" android:angle="180" />
<gradient android:type="linear" android:useLevel="true" android:startColor="#F96496" android:endColor="#FFA999" android:angle="180" />
<corners android:radius="6dp" />
</shape>
</item>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@@ -0,0 +1,206 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="wrap_content"
android:layout_gravity="bottom">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="540dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="522dp"
android:layout_alignParentBottom="true"
android:background="@mipmap/background_gift_wall"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="27dp"
android:gravity="center_vertical">
<TextView
android:id="@+id/anchor_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="主播昵称"
android:textColor="@color/white"
android:textSize="14sp" />
<ImageView
android:id="@+id/attention"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginStart="4dp"
android:src="@mipmap/icon_following_anchor" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_marginStart="6dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="6dp"
android:background="@mipmap/background_giftwall_tab">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="@string/codex"
android:textColor="#184DED"
android:textSize="16sp" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="@string/honorary_achievement"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="15dp"
android:layout_marginTop="14dp"
android:layout_marginEnd="15dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="4dp"
android:background="@drawable/bg_gift_wall_list"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="41dp">
<LinearLayout
android:id="@+id/layout_lit_icon"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/text_lit_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="@string/lit_icon"
android:textColor="#3E68FF"
android:textSize="14sp"
android:textStyle="italic|bold" />
<View
android:id="@+id/view_lit_icon"
android:layout_width="18dp"
android:layout_height="5dp"
android:background="@drawable/tablayout_gift_wall" />
</LinearLayout>
<LinearLayout
android:id="@+id/layout_unlit_icon"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/text_unlit_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="@string/unlit_icon"
android:textColor="#3E68FF"
android:textSize="14sp"
android:textStyle="italic" />
<View
android:id="@+id/view_unlit_icon"
android:layout_width="18dp"
android:layout_height="5dp"
android:background="@drawable/tablayout_gift_wall" />
</LinearLayout>
<LinearLayout
android:id="@+id/layout_all_service_champion"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/text_all_service_champion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="@string/all_service_champion"
android:textColor="#3E68FF"
android:textSize="14sp"
android:textStyle="italic" />
<View
android:id="@+id/view_all_service_champion"
android:layout_width="18dp"
android:layout_height="5dp"
android:background="@drawable/tablayout_gift_wall" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/context_layout_gift"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<TextView
android:layout_width="148dp"
android:layout_height="27dp"
android:layout_gravity="center_horizontal"
android:background="@mipmap/background_gift_wall_title"
android:gravity="center"
android:text="@string/gift_wall"
android:textColor="#3E68FF"
android:textSize="15sp" />
</FrameLayout>
</LinearLayout>
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/avatar"
android:layout_width="41dp"
android:layout_height="41dp"
android:layout_centerHorizontal="true"
android:scaleType="centerCrop"
android:src="@drawable/m_chu_xia"
app:riv_oval="true" />
</RelativeLayout>
<TextView
android:id="@+id/regular_bubble"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="end"
android:layout_marginTop="134dp"
android:background="@mipmap/icon_regular_bubble"
android:gravity="center"
android:textColor="@color/white"
android:text="@string/regular_bubble"
android:textSize="8sp" />
</FrameLayout>

View File

@@ -401,29 +401,32 @@
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:visibility="visible">
<LinearLayout
android:id="@+id/user_level_layout"
android:layout_width="112dp"
android:layout_height="56dp"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:background="@drawable/bg_user_card_lv"
android:gravity="center">
android:gravity="center_vertical">
<ImageView
android:id="@+id/live_icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:layout_marginStart="2dp"
android:src="@mipmap/icon_chat_face"
android:visibility="visible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:orientation="vertical">
<TextView
@@ -432,7 +435,7 @@
android:layout_height="wrap_content"
android:text="@string/live_user_level_anchor"
android:textColor="#FFFFFF"
android:textSize="12sp" />
android:textSize="11sp" />
<TextView
android:id="@+id/lv_val"
@@ -440,31 +443,75 @@
android:layout_height="wrap_content"
android:text="Lv.0"
android:textColor="#FFFFFF"
android:textSize="14sp" />
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/gift_wall"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:background="@drawable/bg_user_card_lv"
android:gravity="center_vertical">
<ImageView
android:id="@+id/icon_gift_wall"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:layout_marginStart="2dp"
android:src="@mipmap/icon_chat_face"
android:visibility="visible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/text_gift_wall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/live_user_level_anchor"
android:textColor="#FFFFFF"
android:textSize="11sp" />
<TextView
android:id="@+id/value_gift_wall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lv.0"
android:textColor="#FFFFFF"
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/noble_icon_layout"
android:layout_width="112dp"
android:layout_height="56dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:background="@mipmap/img_aristocrat_notopen"
android:gravity="center">
android:gravity="center_vertical">
<ImageView
android:id="@+id/noble_icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:layout_marginStart="2dp"
android:src="@mipmap/img_fans_default"
android:visibility="invisible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:orientation="vertical">
<TextView
@@ -473,7 +520,7 @@
android:layout_height="wrap_content"
android:text="@string/live_noble_level_anchor"
android:textColor="#FFFFFF"
android:textSize="12sp" />
android:textSize="11sp" />
<TextView
android:id="@+id/noble_val"
@@ -481,29 +528,32 @@
android:layout_height="wrap_content"
android:text="Lv.0"
android:textColor="#FFFFFF"
android:textSize="14sp" />
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/honor_layout"
android:layout_width="112dp"
android:layout_height="56dp"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:background="@drawable/bg_user_card_honor"
android:gravity="center">
android:gravity="center_vertical">
<ImageView
android:id="@+id/honor_icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:layout_marginStart="2dp"
android:src="@mipmap/img_honor_default"
android:visibility="visible" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:orientation="vertical">
<TextView
@@ -511,7 +561,7 @@
android:layout_height="wrap_content"
android:text="@string/live_honor_number_anchor"
android:textColor="#FFFFFF"
android:textSize="12sp" />
android:textSize="11sp" />
<TextView
android:id="@+id/honor_val"
@@ -519,7 +569,7 @@
android:layout_height="wrap_content"
android:text="0"
android:textColor="#FFFFFF"
android:textSize="14sp" />
android:textSize="9sp" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,190 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_regular"
android:orientation="vertical">
<ImageView
android:id="@+id/close_btn"
android:layout_width="8dp"
android:layout_height="14dp"
android:layout_marginStart="23dp"
android:layout_marginTop="37dp"
android:src="@mipmap/icon_regular_black" />
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="15dp"
android:layout_marginTop="58dp"
android:layout_marginEnd="15dp"
android:layout_marginBottom="34dp"
android:background="@drawable/background_regular_center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingStart="11dp"
android:paddingEnd="11dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="33dp"
android:text="@string/gift_wall_entrance"
android:textColor="#1D31FE"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/gift_wall_entrance1"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/gift_wall_entrance2"
android:textColor="#1D31FE"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/gift_wall_entrance3"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/gift_wall_entrance4"
android:textColor="#1D31FE"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/gift_wall_entrance5"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/codex"
android:textColor="#1D31FE"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/gift_wall_entrance6"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/gift_wall_entrance7"
android:textColor="#1D31FE"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/gift_wall_entrance8_1"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_2"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_3"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_4"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_5"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_6"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_7"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_8"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_9"
android:textColor="#7480FF"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_wall_entrance8_10"
android:textColor="#7480FF"
android:layout_marginBottom="20dp"
android:textSize="13sp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<TextView
android:layout_width="142dp"
android:layout_height="42dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="28dp"
android:background="@mipmap/background_regular_title" />
</FrameLayout>

View File

@@ -351,7 +351,7 @@
<!--周星榜-->
<FrameLayout
android:id="@+id/live_wks_layout"
android:layout_width="wrap_content"
android:layout_width="70dp"
android:layout_height="20dp"
android:layout_alignTop="@id/hour_rank_layout"
android:layout_marginStart="4dp"
@@ -362,26 +362,44 @@
<LinearLayout
android:id="@+id/live_wks_layout2"
android:layout_width="56dp"
android:layout_width="70dp"
android:layout_height="match_parent"
android:orientation="horizontal" />
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="6dp"
android:src="@mipmap/live_icon_zhouxing" />
<TextView
<ViewFlipper
android:id="@+id/live_wks_and_gift_wall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="20dp"
android:layout_marginEnd="6dp"
android:text="@string/live_wks"
android:textColor="#FFFFFFFF"
android:textSize="10sp" />
android:layout_height="20dp"
android:layout_marginStart="0dp"
android:flipInterval="5000"
android:inAnimation="@anim/anim_marquee_in"
android:outAnimation="@anim/anim_marquee_out" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="6dp"
android:src="@mipmap/live_icon_zhouxing"
android:visibility="gone" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="20dp"
android:layout_marginEnd="6dp"
android:text="@string/live_wks"
android:textColor="#FFFFFFFF"
android:textSize="10sp"
android:visibility="gone" />
</LinearLayout>
</FrameLayout>
<!--心愿单-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB