6.5.4礼物冠名

This commit is contained in:
18401019693 2023-08-03 16:08:43 +08:00
parent 986902886a
commit 3f8d6ed4af
9 changed files with 224 additions and 21 deletions

View File

@ -48,6 +48,112 @@ public class LiveGiftBean {
@JSONField(name = "operate_url")
private String operateUrl;
@JSONField(name = "naming_liveuid")
private String namingLiveuid;
@JSONField(name = "naming_uid")
private String namingUid;
@JSONField(name = "naming_live_name")
private String namingLiveName;
@JSONField(name = "naming_user_name")
private String namingUserName;
@JSONField(name = "naming_live_avatar")
private String namingLiveAvatar;
@JSONField(name = "naming_user_avatar")
private String namingUserAvatar;
@JSONField(name = "naming_status")
private String namingStatus;
@JSONField(name = "naming_coin")
private String namingCoin;
public View getmView() {
return mView;
}
public LiveGiftBean setmView(View mView) {
this.mView = mView;
return this;
}
public String getmGiftNum() {
return mGiftNum;
}
public LiveGiftBean setmGiftNum(String mGiftNum) {
this.mGiftNum = mGiftNum;
return this;
}
public String getNamingLiveuid() {
return namingLiveuid;
}
public LiveGiftBean setNamingLiveuid(String namingLiveuid) {
this.namingLiveuid = namingLiveuid;
return this;
}
public String getNamingUid() {
return namingUid;
}
public LiveGiftBean setNamingUid(String namingUid) {
this.namingUid = namingUid;
return this;
}
public String getNamingLiveName() {
return namingLiveName;
}
public LiveGiftBean setNamingLiveName(String namingLiveName) {
this.namingLiveName = namingLiveName;
return this;
}
public String getNamingUserName() {
return namingUserName;
}
public LiveGiftBean setNamingUserName(String namingUserName) {
this.namingUserName = namingUserName;
return this;
}
public String getNamingLiveAvatar() {
return namingLiveAvatar;
}
public LiveGiftBean setNamingLiveAvatar(String namingLiveAvatar) {
this.namingLiveAvatar = namingLiveAvatar;
return this;
}
public String getNamingUserAvatar() {
return namingUserAvatar;
}
public LiveGiftBean setNamingUserAvatar(String namingUserAvatar) {
this.namingUserAvatar = namingUserAvatar;
return this;
}
public String getNamingStatus() {
return namingStatus;
}
public LiveGiftBean setNamingStatus(String namingStatus) {
this.namingStatus = namingStatus;
return this;
}
public String getNamingCoin() {
return namingCoin;
}
public LiveGiftBean setNamingCoin(String namingCoin) {
this.namingCoin = namingCoin;
return this;
}
public String getOperateImage() {
return operateImage;

View File

@ -542,9 +542,15 @@ public class JavascriptInterfaceUtils {
Bus.get().post(new JavascriptInterfaceEvent()
.setMethod("closeLiveRoom"));
}
@JavascriptInterface
public void clickLogOffAccount() {
Bus.get().post(new JavascriptInterfaceEvent()
.setMethod("clickLogOffAccount"));
}
@JavascriptInterface
public void toGiftNamingAlertAllPageView(String mAnchorName, String mLiveUid, String mAvatarUrl) {
RouteUtil.forwardGiftWallActivity("", mAnchorName, mLiveUid, mAvatarUrl, 0);
}
}

View File

@ -6,23 +6,87 @@
android:layout_gravity="bottom"
android:orientation="vertical">
<ImageView
android:id="@+id/operate_image"
android:layout_width="122dp"
android:layout_height="50dp" />
<FrameLayout
android:id="@+id/blind_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:visibility="invisible">
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<include
<ImageView
android:id="@+id/operate_image"
android:layout_width="122dp"
android:layout_height="50dp"
android:layout_gravity="end|bottom" />
layout="@layout/view_blind_box" />
<FrameLayout
android:id="@+id/blind_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:visibility="invisible">
<include
layout="@layout/view_blind_box" />
</FrameLayout>
<FrameLayout
android:id="@+id/naming_layout"
android:layout_width="match_parent"
android:layout_height="28dp"
android:layout_gravity="bottom"
android:layout_marginStart="25dp"
android:layout_marginEnd="25dp"
android:layout_marginBottom="5dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@mipmap/background_live_gift_gift_itle" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical">
<ImageView
android:layout_width="54dp"
android:layout_height="13dp"
android:layout_marginStart="13dp"
android:src="@mipmap/icon_live_gift_gift_itle" />
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/naming_avatar"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:layout_marginStart="6dp"
android:scaleType="centerCrop"
android:src="@drawable/m_chu_xia"
app:riv_oval="true" />
<com.yunbao.common.views.weight.MarqueeTextView
android:id="@+id/naming_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="4dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="#FFFFFFFF"
android:textSize="12sp" />
</LinearLayout>
</FrameLayout>
</FrameLayout>
<RelativeLayout
@ -245,7 +309,7 @@
android:layout_height="10dp"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="30dp"
android:src="@mipmap/icon_arrow_right" />
android:src="@mipmap/icon_arrow_right_2" />
</FrameLayout>
<TextView

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -1296,5 +1296,7 @@ Limited ride And limited avatar frame</string>
<string name="received_wall2">去點亮</string>
<string name="wall_honor">我的荣誉墙</string>
<string name="achievement_details">成就詳情</string>
<string name="title_anchor">冠名主播:</string>
<string name="the_title_financier">冠名金主:</string>
</resources>

View File

@ -49,6 +49,7 @@ import com.yunbao.common.bean.LiveGiftBean2;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.event.GiftNumberEvent;
import com.yunbao.common.event.LiveGiftDialogEvent;
import com.yunbao.common.event.SendBlindGiftEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
@ -74,7 +75,6 @@ import com.yunbao.live.bean.GiftTopBean;
import com.yunbao.live.bean.LiveGuardInfo;
import com.yunbao.live.event.GiftTitleEvent;
import com.yunbao.live.event.LiveAudienceEvent;
import com.yunbao.common.event.LiveGiftDialogEvent;
import com.yunbao.live.event.LiveGiftItemEvent;
import com.yunbao.live.event.LiveParcelItemRefreshEvent;
import com.yunbao.live.http.LiveHttpUtil;
@ -94,14 +94,14 @@ import java.util.List;
* 直播间新送礼弹窗
*/
public class LiveGiftPopup extends AbsDialogFragment {
private ImageView gitBackground, nobilityIcon, description, iconArrow, operateImage;
private ImageView gitBackground, nobilityIcon, description, iconArrow, operateImage, namingAvatar;
private JSONArray liveGiftList;
private TextView diamondText, goldText, liveWrap, vipGoldDesc, vipGoldTitle, giftNumber;
private RecyclerView giftTitle;
private GiftTitleAdapter giftTitleAdapter;
private FrameLayout contextLayoutGift;
private String mStream, mLiveUid;
private FrameLayout blindBox, frameBlindTop, noNobility, giftNumberLayout, giftSendLayout;
private FrameLayout blindBox, frameBlindTop, noNobility, giftNumberLayout, giftSendLayout, namingLayout;
private ProgressBar progressBlind, progressBlind1, progressBlind2;
private SVGAImageView blindSvga, blindBoxOpen;
private View iconMasking;
@ -116,7 +116,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
private String by;
private boolean isWrap;
private ProgressBar progressBar;
private MarqueeTextView giftDescription;
private MarqueeTextView giftDescription, namingName;
private boolean isPk;
@ -144,6 +144,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
giftTitle = mRootView.findViewById(R.id.gift_title);
liveWrap = mRootView.findViewById(R.id.live_wrap);
giftDescription = mRootView.findViewById(R.id.gift_description);
namingName = mRootView.findViewById(R.id.naming_name);
blindBox = mRootView.findViewById(R.id.blind_box);
frameBlindTop = mRootView.findViewById(R.id.frame_blind_top);
progressBlind = mRootView.findViewById(R.id.progress_blind1);
@ -166,13 +167,16 @@ public class LiveGiftPopup extends AbsDialogFragment {
mLianText = mRootView.findViewById(R.id.lian_text);
mBtnSendGroup = mRootView.findViewById(R.id.btn_send_lian);
giftSendLayout = mRootView.findViewById(R.id.gift_send_layout);
namingLayout = mRootView.findViewById(R.id.naming_layout);
description = mRootView.findViewById(R.id.description);
lvStr = mRootView.findViewById(R.id.lv_str);
iconArrow = mRootView.findViewById(R.id.icon_arrow);
operateImage = mRootView.findViewById(R.id.operate_image);
namingAvatar = mRootView.findViewById(R.id.naming_avatar);
leaveHint = mRootView.findViewById(R.id.leave_hint);
progressBar = mRootView.findViewById(R.id.progressBar);
levelingLayout = mRootView.findViewById(R.id.leveling_layout);
namingLayout.setVisibility(View.GONE);
//设置礼物弹窗背景
ImgLoader.displayBlurLive(getContext(), R.drawable.backgroud_custom_gift2, gitBackground);
gitBackground.setAlpha(0.97f);
@ -653,8 +657,22 @@ public class LiveGiftPopup extends AbsDialogFragment {
@Subscribe(threadMode = ThreadMode.MAIN)
public void onLiveGiftItemEvent(LiveGiftItemEvent event) {
liveGiftModel = event.getLiveGiftModel();
if (!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") && !TextUtils.equals(liveGiftModel.getNamingUid(), "0")) {
namingLayout.setVisibility(View.VISIBLE);
ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar);
StringBuffer namingNameText = new StringBuffer();
namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor))
.append(liveGiftModel.getNamingLiveName())
.append(mContext.getText(com.yunbao.live.R.string.the_title_financier))
.append(liveGiftModel.getNamingUserName());
namingName.setText(namingNameText.toString());
} else {
namingLayout.setVisibility(View.GONE);
}
if (liveGiftModel.getType() == 7) {
showBlindProgress(liveGiftModel.getBlind_box_type());
} else {
@ -853,6 +871,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
textBlindGiftName.setText(stringBuilder);
boxBlindHandler.postDelayed(boxBlindRunnable, 1500);
stringBuilders.remove(0);
} else {
textBlindGiftName.setText(String.format(mContext.getString(R.string.random_availability), blindGiftNamesBuffer.toString()));
}

View File

@ -2,6 +2,7 @@ package com.yunbao.live.views;
import android.content.Context;
import android.graphics.Color;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
@ -20,6 +21,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.bean.LiveGiftBean;
import com.yunbao.common.event.LiveGiftDialogEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.utils.Bus;
@ -28,7 +30,6 @@ import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
import com.yunbao.live.dialog.SendRendPacketPopup;
import com.yunbao.common.event.LiveGiftDialogEvent;
import java.io.File;
@ -76,7 +77,12 @@ public class FrameGiftViewHolder extends RecyclerView.ViewHolder {
}
ImgLoader.display(mContext, model.getIcon(), giftIcon);
ImgLoader.display(mContext, model.getCornerMark(), cornerMark);
giftName.setText(model.getName());
if (!TextUtils.equals(model.getNamingLiveuid(), "0") && !TextUtils.equals(model.getNamingUid(), "0")) {
giftName.setText(model.getNamingUserName());
} else {
giftName.setText(model.getName());
}
//特殊礼物红包
if (model.getType() == 9999999) {
mPayIco.setVisibility(View.GONE);

View File

@ -2669,7 +2669,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
bundle.putBoolean("isLive", mContext instanceof LiveRyAnchorActivity);
giftWallDialog.setArguments(bundle);
giftWallDialog.show(((AbsActivity) mContext).getSupportFragmentManager(), "GiftWallDialog");
// RouteUtil.forwardGiftWallActivity(mStream,mAnchorName,mLiveUid,mAvatarUrl,isAttention);
}
public boolean pkHandler = true;