盲盒全服通知逻辑
@ -0,0 +1,142 @@
|
|||||||
|
package com.yunbao.common.event;
|
||||||
|
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import com.yunbao.common.bean.BaseModel;
|
||||||
|
|
||||||
|
public class AllServerNotifyEvent extends BaseModel {
|
||||||
|
//礼物图标
|
||||||
|
@SerializedName("gifticon")
|
||||||
|
private String giftIcon;
|
||||||
|
//用户名
|
||||||
|
@SerializedName("userNiceName")
|
||||||
|
private String userNiceName;
|
||||||
|
//礼物名称
|
||||||
|
@SerializedName("giftname")
|
||||||
|
private String giftName;
|
||||||
|
//盲盒名称
|
||||||
|
@SerializedName("box_type_name")
|
||||||
|
private String boxTypeName;
|
||||||
|
//饰品名称
|
||||||
|
@SerializedName("dress_name")
|
||||||
|
private String dressName;
|
||||||
|
//区分礼物还是饰品 lw 1 sp 0
|
||||||
|
@SerializedName("gift_notification")
|
||||||
|
private String giftNotification;
|
||||||
|
//盲盒礼物ID
|
||||||
|
@SerializedName("blind_box_id")
|
||||||
|
private String blindBoxId;
|
||||||
|
//盲盒类型
|
||||||
|
@SerializedName("box_type")
|
||||||
|
private String boxType;
|
||||||
|
//饰品图片
|
||||||
|
@SerializedName("display_src")
|
||||||
|
private String displaySrc;
|
||||||
|
//主播名字
|
||||||
|
@SerializedName("ancherName")
|
||||||
|
private String anchorName;
|
||||||
|
|
||||||
|
public String getAnchorName() {
|
||||||
|
return anchorName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setAnchorName(String anchorName) {
|
||||||
|
this.anchorName = anchorName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisplaySrc() {
|
||||||
|
return displaySrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setDisplaySrc(String displaySrc) {
|
||||||
|
this.displaySrc = displaySrc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBoxType() {
|
||||||
|
return boxType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setBoxType(String boxType) {
|
||||||
|
this.boxType = boxType;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGiftIcon() {
|
||||||
|
return giftIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setGiftIcon(String giftIcon) {
|
||||||
|
this.giftIcon = giftIcon;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserNiceName() {
|
||||||
|
return userNiceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setUserNiceName(String userNiceName) {
|
||||||
|
this.userNiceName = userNiceName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGiftName() {
|
||||||
|
return giftName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setGiftName(String giftName) {
|
||||||
|
this.giftName = giftName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBoxTypeName() {
|
||||||
|
return boxTypeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setBoxTypeName(String boxTypeName) {
|
||||||
|
this.boxTypeName = boxTypeName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDressName() {
|
||||||
|
return dressName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setDressName(String dressName) {
|
||||||
|
this.dressName = dressName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGiftNotification() {
|
||||||
|
return giftNotification;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setGiftNotification(String giftNotification) {
|
||||||
|
this.giftNotification = giftNotification;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBlindBoxId() {
|
||||||
|
return blindBoxId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AllServerNotifyEvent setBlindBoxId(String blindBoxId) {
|
||||||
|
this.blindBoxId = blindBoxId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "\n" + "AllServerNotifyEvent{" + "\n" +
|
||||||
|
"giftIcon='" + giftIcon + '\'' + "\n" +
|
||||||
|
", userNiceName='" + userNiceName + '\'' + "\n" +
|
||||||
|
", giftName='" + giftName + '\'' + "\n" +
|
||||||
|
", boxTypeName='" + boxTypeName + '\'' + "\n" +
|
||||||
|
", dressName='" + dressName + '\'' + "\n" +
|
||||||
|
", giftNotification='" + giftNotification + '\'' + "\n" +
|
||||||
|
", blindBoxId='" + blindBoxId + '\'' + "\n" +
|
||||||
|
", boxType='" + boxType + '\'' + "\n" +
|
||||||
|
", displaySrc='" + displaySrc + '\'' + "\n" +
|
||||||
|
'}' + "\n" ;
|
||||||
|
}
|
||||||
|
}
|
@ -69,8 +69,6 @@ public class SendBlindGiftEvent extends BaseModel {
|
|||||||
private String needcoin;
|
private String needcoin;
|
||||||
@SerializedName("gift_msg")
|
@SerializedName("gift_msg")
|
||||||
private String giftMsg;
|
private String giftMsg;
|
||||||
@SerializedName("gift_notification")
|
|
||||||
private boolean giftNotification;
|
|
||||||
@SerializedName("gift_colour")
|
@SerializedName("gift_colour")
|
||||||
private String giftColour;
|
private String giftColour;
|
||||||
@SerializedName("box_type")
|
@SerializedName("box_type")
|
||||||
@ -101,6 +99,8 @@ public class SendBlindGiftEvent extends BaseModel {
|
|||||||
private String dressColour;
|
private String dressColour;
|
||||||
@SerializedName("dress_threshold_value")
|
@SerializedName("dress_threshold_value")
|
||||||
private String dressThresholdValue;
|
private String dressThresholdValue;
|
||||||
|
@SerializedName("threshold_value")
|
||||||
|
private String thresholdValue;
|
||||||
@SerializedName("live_gift_notify")
|
@SerializedName("live_gift_notify")
|
||||||
private String liveGiftNotify;
|
private String liveGiftNotify;
|
||||||
@SerializedName("userNiceName")
|
@SerializedName("userNiceName")
|
||||||
@ -110,6 +110,15 @@ public class SendBlindGiftEvent extends BaseModel {
|
|||||||
return userNiceName;
|
return userNiceName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getThresholdValue() {
|
||||||
|
return thresholdValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SendBlindGiftEvent setThresholdValue(String thresholdValue) {
|
||||||
|
this.thresholdValue = thresholdValue;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public SendBlindGiftEvent setUserNiceName(String userNiceName) {
|
public SendBlindGiftEvent setUserNiceName(String userNiceName) {
|
||||||
this.userNiceName = userNiceName;
|
this.userNiceName = userNiceName;
|
||||||
return this;
|
return this;
|
||||||
@ -403,14 +412,6 @@ public class SendBlindGiftEvent extends BaseModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isGiftNotification() {
|
|
||||||
return giftNotification;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SendBlindGiftEvent setGiftNotification(boolean giftNotification) {
|
|
||||||
this.giftNotification = giftNotification;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getGiftColour() {
|
public String getGiftColour() {
|
||||||
return giftColour;
|
return giftColour;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<!--设置ProgressBar进度条圆角半径-->
|
<!--设置ProgressBar进度条圆角半径-->
|
||||||
<corners android:radius="3dp" />
|
<corners android:radius="3dp" />
|
||||||
<solid android:color="#65FB712D" />
|
<solid android:color="#90FB712D" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<!--设置ProgressBar进度条圆角半径-->
|
<!--设置ProgressBar进度条圆角半径-->
|
||||||
<corners android:radius="3dp" />
|
<corners android:radius="3dp" />
|
||||||
<solid android:color="#659FFBF6" />
|
<solid android:color="#909FFBF6" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<!--设置ProgressBar进度条圆角半径-->
|
<!--设置ProgressBar进度条圆角半径-->
|
||||||
<corners android:radius="3dp" />
|
<corners android:radius="3dp" />
|
||||||
<solid android:color="#65F8B334" />
|
<solid android:color="#90F8B334" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
|
@ -1172,7 +1172,7 @@
|
|||||||
<string name="complete_information_hint3">離開會讓您失去獎勵,您確認離開嗎?</string>
|
<string name="complete_information_hint3">離開會讓您失去獎勵,您確認離開嗎?</string>
|
||||||
<string name="complete_information_hint2">愛你,愛你</string>
|
<string name="complete_information_hint2">愛你,愛你</string>
|
||||||
<string name="you_guide_me">指導下我好嗎</string>
|
<string name="you_guide_me">指導下我好嗎</string>
|
||||||
<string name="resend_win">再送%s个%s必得%s</string>
|
<string name="resend_win">再送%s个必得%s</string>
|
||||||
<string name="have_already_win">已将%s发送至您的个性装扮</string>
|
<string name="have_already_win">已将%s发送至您的个性装扮</string>
|
||||||
<string name="mini_blind_box">迷你盲盒</string>
|
<string name="mini_blind_box">迷你盲盒</string>
|
||||||
<string name="collection_blind_box">典藏盲盒</string>
|
<string name="collection_blind_box">典藏盲盒</string>
|
||||||
|
@ -1178,11 +1178,18 @@ Limited ride And limited avatar frame</string>
|
|||||||
<string name="complete_information_hint3">Leave without a gift</string>
|
<string name="complete_information_hint3">Leave without a gift</string>
|
||||||
<string name="complete_information_hint2">Love you</string>
|
<string name="complete_information_hint2">Love you</string>
|
||||||
<string name="you_guide_me">Can you guide me</string>
|
<string name="you_guide_me">Can you guide me</string>
|
||||||
<string name="resend_win">再送%s个%s必得%s</string>
|
<string name="resend_win">再送%s个必得%s</string>
|
||||||
<string name="have_already_win">已将%s发送至您的个性装扮</string>
|
<string name="have_already_win">已将%s发送至您的个性装扮</string>
|
||||||
<string name="mini_blind_box">迷你盲盒</string>
|
<string name="mini_blind_box">迷你盲盒</string>
|
||||||
<string name="collection_blind_box">典藏盲盒</string>
|
<string name="collection_blind_box">典藏盲盒</string>
|
||||||
<string name="pd_blind_box">PD盲盒</string>
|
<string name="pd_blind_box">PD盲盒</string>
|
||||||
<string name="individual_dressing">个性装扮</string>
|
<string name="individual_dressing">个性装扮</string>
|
||||||
<string name="random_availability">可随机获得,%s</string>
|
<string name="random_availability">可随机获得,%s</string>
|
||||||
|
<string name="random_availability2">已获得,%s,%s</string>
|
||||||
|
<string name="random_availability3">已获得,%s</string>
|
||||||
|
<string name="get_it_done">完成必得</string>
|
||||||
|
<string name="blind_box_list">盲盒榜</string>
|
||||||
|
<string name="participate_in">參與</string>
|
||||||
|
<string name="extract_to">%s在%s中抽取到了</string>
|
||||||
|
<string name="extract_to2">%S送给了%s</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -81,7 +81,6 @@ import com.yunbao.common.utils.ProcessResultUtil;
|
|||||||
import com.yunbao.common.utils.RouteUtil;
|
import com.yunbao.common.utils.RouteUtil;
|
||||||
import com.yunbao.common.utils.StringUtil;
|
import com.yunbao.common.utils.StringUtil;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
|
||||||
import com.yunbao.common.views.CustomDrawerPopupView;
|
import com.yunbao.common.views.CustomDrawerPopupView;
|
||||||
import com.yunbao.common.views.floatingview.APPEasyFloat;
|
import com.yunbao.common.views.floatingview.APPEasyFloat;
|
||||||
import com.yunbao.common.views.weight.VerticalViewPager;
|
import com.yunbao.common.views.weight.VerticalViewPager;
|
||||||
@ -1377,7 +1376,11 @@ public class LiveAudienceActivity extends LiveActivity {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case BLIND_BOX:
|
||||||
|
if (manager != null) {
|
||||||
|
manager.blindBoxAllServerNotify(event.getAllServerNotifyEvent());
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,13 +3,15 @@ package com.yunbao.live.bean;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.alibaba.fastjson.annotation.JSONField;
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import com.yunbao.common.bean.BaseModel;
|
||||||
|
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by cxf on 2017/8/22.
|
* Created by cxf on 2017/8/22.
|
||||||
* 收到送礼物消息的实体类
|
* 收到送礼物消息的实体类
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class LiveReceiveGiftBean {
|
public class LiveReceiveGiftBean extends BaseModel {
|
||||||
|
|
||||||
private String uid;
|
private String uid;
|
||||||
private String avatar;
|
private String avatar;
|
||||||
@ -51,6 +53,26 @@ public class LiveReceiveGiftBean {
|
|||||||
private String nobilityname;
|
private String nobilityname;
|
||||||
private String opentype;
|
private String opentype;
|
||||||
private String anchorUid;
|
private String anchorUid;
|
||||||
|
private boolean isBlindBox = false;
|
||||||
|
private AllServerNotifyEvent event = new AllServerNotifyEvent();
|
||||||
|
|
||||||
|
public AllServerNotifyEvent getEvent() {
|
||||||
|
return event;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveReceiveGiftBean setEvent(AllServerNotifyEvent event) {
|
||||||
|
this.event = event;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isBlindBox() {
|
||||||
|
return isBlindBox;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveReceiveGiftBean setBlindBox(boolean blindBox) {
|
||||||
|
isBlindBox = blindBox;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public String getAnchorUid() {
|
public String getAnchorUid() {
|
||||||
return anchorUid;
|
return anchorUid;
|
||||||
|
@ -170,7 +170,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
window.setDimAmount(0f);//去掉遮罩层(全透明)
|
window.setDimAmount(0f);//去掉遮罩层(全透明)
|
||||||
WindowManager.LayoutParams params = window.getAttributes();
|
WindowManager.LayoutParams params = window.getAttributes();
|
||||||
params.width = WindowManager.LayoutParams.MATCH_PARENT;
|
params.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||||
params.height = DpUtil.dp2px(355);
|
params.height = DpUtil.dp2px(433);
|
||||||
params.gravity = Gravity.BOTTOM;
|
params.gravity = Gravity.BOTTOM;
|
||||||
window.setAttributes(params);
|
window.setAttributes(params);
|
||||||
}
|
}
|
||||||
@ -698,6 +698,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void itemCheckOp(LiveGiftBean bean) {
|
private void itemCheckOp(LiveGiftBean bean) {
|
||||||
|
stringBuilders.clear();
|
||||||
mLiveGiftBean = bean;
|
mLiveGiftBean = bean;
|
||||||
hideLianBtn();
|
hideLianBtn();
|
||||||
mBtnSend.setEnabled(true);
|
mBtnSend.setEnabled(true);
|
||||||
@ -714,14 +715,13 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
if (bean.getType() == 5) {
|
if (bean.getType() == 5) {
|
||||||
|
|
||||||
showBlindProgress(bean.getBlind_box_type());
|
showBlindProgress(bean.getBlind_box_type());
|
||||||
|
} else {
|
||||||
|
if (isPk) {
|
||||||
|
mVipGold.setVisibility(View.GONE);
|
||||||
}else {
|
}else {
|
||||||
mVipGold.setVisibility(View.VISIBLE);
|
mVipGold.setVisibility(View.VISIBLE);
|
||||||
blindBox.setVisibility(View.GONE);
|
}
|
||||||
WindowManager.LayoutParams params = getDialog().getWindow().getAttributes();
|
blindBox.setVisibility(View.INVISIBLE);
|
||||||
params.width = WindowManager.LayoutParams.MATCH_PARENT;
|
|
||||||
params.height = DpUtil.dp2px(355);
|
|
||||||
params.gravity = Gravity.BOTTOM;
|
|
||||||
getDialog().getWindow().setAttributes(params);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -761,11 +761,6 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
mBtnChooseCount.setEnabled(false);
|
mBtnChooseCount.setEnabled(false);
|
||||||
mVipGold.setVisibility(View.GONE);
|
mVipGold.setVisibility(View.GONE);
|
||||||
blindBox.setVisibility(View.VISIBLE);
|
blindBox.setVisibility(View.VISIBLE);
|
||||||
WindowManager.LayoutParams params = getDialog().getWindow().getAttributes();
|
|
||||||
params.width = WindowManager.LayoutParams.MATCH_PARENT;
|
|
||||||
params.height = DpUtil.dp2px(433);
|
|
||||||
params.gravity = Gravity.BOTTOM;
|
|
||||||
getDialog().getWindow().setAttributes(params);
|
|
||||||
String boxBlindName = "";
|
String boxBlindName = "";
|
||||||
switch (blindBoxType) {
|
switch (blindBoxType) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -818,7 +813,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
} else {
|
} else {
|
||||||
int progress = Integer.parseInt(model.getThresholdValue()) - Integer.parseInt(model.getDressThresholdValue());
|
int progress = Integer.parseInt(model.getThresholdValue()) - Integer.parseInt(model.getDressThresholdValue());
|
||||||
String msg = mContext.getString(R.string.resend_win);
|
String msg = mContext.getString(R.string.resend_win);
|
||||||
msg = String.format(msg, String.valueOf(progress), boxBlindName, model.getThresholdDressName());
|
msg = String.format(msg, String.valueOf(progress), model.getThresholdDressName());
|
||||||
int dressNameIndexOf = msg.indexOf(model.getThresholdDressName());
|
int dressNameIndexOf = msg.indexOf(model.getThresholdDressName());
|
||||||
int progressIndexOf = msg.indexOf(String.valueOf(progress));
|
int progressIndexOf = msg.indexOf(String.valueOf(progress));
|
||||||
int dressNameSize = model.getThresholdDressName().length();
|
int dressNameSize = model.getThresholdDressName().length();
|
||||||
@ -1050,6 +1045,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
for (int i = 0; i < blindBoxInfoModels.size(); i++) {
|
for (int i = 0; i < blindBoxInfoModels.size(); i++) {
|
||||||
if (TextUtils.equals(blindBoxInfoModels.get(i).getBlindBoxType(), event.getBoxType())) {
|
if (TextUtils.equals(blindBoxInfoModels.get(i).getBlindBoxType(), event.getBoxType())) {
|
||||||
blindBoxInfoModels.get(i).setDressThresholdValue(event.getDressThresholdValue());
|
blindBoxInfoModels.get(i).setDressThresholdValue(event.getDressThresholdValue());
|
||||||
|
blindBoxInfoModels.get(i).setThresholdValue(event.getThresholdValue());
|
||||||
model = blindBoxInfoModels.get(i);
|
model = blindBoxInfoModels.get(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1091,10 +1087,11 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), individualDressingIndexOf, individualDressingIndexOf + individualDressingSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), individualDressingIndexOf, individualDressingIndexOf + individualDressingSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
blindNumber.setText(builder);
|
blindNumber.setText(builder);
|
||||||
|
textBlindProgress.setText(R.string.get_it_done);
|
||||||
} else {
|
} else {
|
||||||
int progress = Integer.parseInt(model.getThresholdValue()) - Integer.parseInt(model.getDressThresholdValue());
|
int progress = Integer.parseInt(model.getThresholdValue()) - Integer.parseInt(model.getDressThresholdValue());
|
||||||
String msg = mContext.getString(R.string.resend_win);
|
String msg = mContext.getString(R.string.resend_win);
|
||||||
msg = String.format(msg, String.valueOf(progress), boxBlindName, model.getThresholdDressName());
|
msg = String.format(msg, String.valueOf(progress), model.getThresholdDressName());
|
||||||
int dressNameIndexOf = msg.indexOf(model.getThresholdDressName());
|
int dressNameIndexOf = msg.indexOf(model.getThresholdDressName());
|
||||||
int progressIndexOf = msg.indexOf(String.valueOf(progress));
|
int progressIndexOf = msg.indexOf(String.valueOf(progress));
|
||||||
int dressNameSize = model.getThresholdDressName().length();
|
int dressNameSize = model.getThresholdDressName().length();
|
||||||
@ -1110,6 +1107,58 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
|||||||
.append(model.getThresholdValue());
|
.append(model.getThresholdValue());
|
||||||
textBlindProgress.setText(stringBuffer.toString());
|
textBlindProgress.setText(stringBuffer.toString());
|
||||||
}
|
}
|
||||||
|
if (stringBuilders.size() == 0) {
|
||||||
|
boxBlindHandler.postDelayed(boxBlindRunnable, 1500);
|
||||||
|
}
|
||||||
|
if (!TextUtils.isEmpty(event.getDressName()) && !TextUtils.isEmpty(event.getDressMsg())) {
|
||||||
|
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
||||||
|
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability2), event.getGiftname(), event.getDressName());
|
||||||
|
stringBuilder.append(boxBlindMsg);
|
||||||
|
int dressNameIndex = boxBlindMsg.indexOf(event.getDressName());
|
||||||
|
int dressNameSize = event.getDressName().length();
|
||||||
|
int giftNameIndex = boxBlindMsg.indexOf(event.getGiftname());
|
||||||
|
int giftNameSize = event.getGiftname().length();
|
||||||
|
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getDressColour())),
|
||||||
|
dressNameIndex,
|
||||||
|
dressNameIndex + dressNameSize,
|
||||||
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getGiftColour())),
|
||||||
|
giftNameIndex,
|
||||||
|
giftNameIndex + giftNameSize,
|
||||||
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
stringBuilders.add(stringBuilder);
|
||||||
|
} else {
|
||||||
|
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
|
||||||
|
String boxBlindMsg = String.format(mContext.getString(R.string.random_availability3), event.getGiftname());
|
||||||
|
stringBuilder.append(boxBlindMsg);
|
||||||
|
int giftNameIndex = boxBlindMsg.indexOf(event.getGiftname());
|
||||||
|
int giftNameSize = event.getGiftname().length();
|
||||||
|
stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getGiftColour())),
|
||||||
|
giftNameIndex,
|
||||||
|
giftNameIndex + giftNameSize,
|
||||||
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
stringBuilders.add(stringBuilder);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<SpannableStringBuilder> stringBuilders = new ArrayList<>();
|
||||||
|
private Handler boxBlindHandler = new Handler();
|
||||||
|
private Runnable boxBlindRunnable = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (stringBuilders != null && stringBuilders.size() > 0) {
|
||||||
|
SpannableStringBuilder stringBuilder = stringBuilders.get(0);
|
||||||
|
textBlindGiftName.setText(stringBuilder);
|
||||||
|
boxBlindHandler.postDelayed(boxBlindRunnable, 1100);
|
||||||
|
stringBuilders.remove(0);
|
||||||
|
} else {
|
||||||
|
textBlindGiftName.setText(String.format(mContext.getString(R.string.random_availability), blindGiftNamesBuffer.toString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import com.yunbao.common.bean.LiveBean;
|
|||||||
import com.yunbao.common.bean.MsgModel;
|
import com.yunbao.common.bean.MsgModel;
|
||||||
import com.yunbao.common.bean.WishModel;
|
import com.yunbao.common.bean.WishModel;
|
||||||
import com.yunbao.common.bean.XydCompleteModel;
|
import com.yunbao.common.bean.XydCompleteModel;
|
||||||
|
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||||
import com.yunbao.common.event.CustomFullServiceNotifyEvent;
|
import com.yunbao.common.event.CustomFullServiceNotifyEvent;
|
||||||
import com.yunbao.live.bean.LivePKUserListBean;
|
import com.yunbao.live.bean.LivePKUserListBean;
|
||||||
import com.yunbao.live.bean.LiveReceiveGiftBean;
|
import com.yunbao.live.bean.LiveReceiveGiftBean;
|
||||||
@ -41,6 +42,16 @@ public class LiveAudienceEvent extends BaseModel {
|
|||||||
private WishModel wishListProgress;
|
private WishModel wishListProgress;
|
||||||
private XydCompleteModel xydCompleteModel;
|
private XydCompleteModel xydCompleteModel;
|
||||||
private LiveReceiveGiftBean liveReceiveGiftBean;
|
private LiveReceiveGiftBean liveReceiveGiftBean;
|
||||||
|
private AllServerNotifyEvent allServerNotifyEvent;
|
||||||
|
|
||||||
|
public AllServerNotifyEvent getAllServerNotifyEvent() {
|
||||||
|
return allServerNotifyEvent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveAudienceEvent setAllServerNotifyEvent(AllServerNotifyEvent allServerNotifyEvent) {
|
||||||
|
this.allServerNotifyEvent = allServerNotifyEvent;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public LiveReceiveGiftBean getLiveReceiveGiftBean() {
|
public LiveReceiveGiftBean getLiveReceiveGiftBean() {
|
||||||
return liveReceiveGiftBean;
|
return liveReceiveGiftBean;
|
||||||
@ -344,7 +355,8 @@ public class LiveAudienceEvent extends BaseModel {
|
|||||||
LIVE_FONT_SIZE(64, "字号设置"),
|
LIVE_FONT_SIZE(64, "字号设置"),
|
||||||
VOTE_CREATE(65, "创建投票"),
|
VOTE_CREATE(65, "创建投票"),
|
||||||
VOTE_UPDATE(66, "更新投票"),
|
VOTE_UPDATE(66, "更新投票"),
|
||||||
VOTE_END(67, "投票结束");
|
VOTE_END(67, "投票结束"),
|
||||||
|
BLIND_BOX(68, "盲盒全服通知");
|
||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
private String name;
|
private String name;
|
||||||
|
@ -6,6 +6,7 @@ import android.animation.ObjectAnimator;
|
|||||||
import android.animation.ValueAnimator;
|
import android.animation.ValueAnimator;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.os.CountDownTimer;
|
import android.os.CountDownTimer;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
@ -23,6 +24,7 @@ import android.view.animation.ScaleAnimation;
|
|||||||
import android.view.animation.TranslateAnimation;
|
import android.view.animation.TranslateAnimation;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
import android.widget.MediaController;
|
import android.widget.MediaController;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
@ -37,6 +39,7 @@ import com.yunbao.common.Constants;
|
|||||||
import com.yunbao.common.HtmlConfig;
|
import com.yunbao.common.HtmlConfig;
|
||||||
import com.yunbao.common.activity.WebViewActivity;
|
import com.yunbao.common.activity.WebViewActivity;
|
||||||
import com.yunbao.common.bean.LiveBean;
|
import com.yunbao.common.bean.LiveBean;
|
||||||
|
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
import com.yunbao.common.http.CommonHttpConsts;
|
import com.yunbao.common.http.CommonHttpConsts;
|
||||||
import com.yunbao.common.http.CommonHttpUtil;
|
import com.yunbao.common.http.CommonHttpUtil;
|
||||||
@ -48,14 +51,14 @@ import com.yunbao.common.utils.GiftCacheUtil;
|
|||||||
import com.yunbao.common.utils.HtmlTagHandler;
|
import com.yunbao.common.utils.HtmlTagHandler;
|
||||||
import com.yunbao.common.utils.L;
|
import com.yunbao.common.utils.L;
|
||||||
import com.yunbao.common.utils.MicStatusManager;
|
import com.yunbao.common.utils.MicStatusManager;
|
||||||
import com.yunbao.common.utils.RouteUtil;
|
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
|
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||||
import com.yunbao.live.bean.LiveGiftPrizePoolWinBean;
|
import com.yunbao.live.bean.LiveGiftPrizePoolWinBean;
|
||||||
import com.yunbao.live.bean.LiveLuckGiftWinBean;
|
import com.yunbao.live.bean.LiveLuckGiftWinBean;
|
||||||
import com.yunbao.live.bean.LiveReceiveGiftBean;
|
import com.yunbao.live.bean.LiveReceiveGiftBean;
|
||||||
import com.yunbao.live.custom.FrameImageView;
|
import com.yunbao.live.custom.FrameImageView;
|
||||||
|
import com.yunbao.live.dialog.LiveGiftDialogFragment;
|
||||||
import com.yunbao.live.event.LiveRoomChangeEvent;
|
import com.yunbao.live.event.LiveRoomChangeEvent;
|
||||||
import com.yunbao.live.http.LiveHttpUtil;
|
import com.yunbao.live.http.LiveHttpUtil;
|
||||||
import com.yunbao.live.utils.AllMsgTextRender;
|
import com.yunbao.live.utils.AllMsgTextRender;
|
||||||
@ -86,7 +89,9 @@ import pl.droidsonroids.gif.GifImageView;
|
|||||||
|
|
||||||
public class LiveGiftAnimPresenter {
|
public class LiveGiftAnimPresenter {
|
||||||
|
|
||||||
private final View mIvLook;
|
private final TextView mIvLook;
|
||||||
|
private View superNotice;
|
||||||
|
private LinearLayout bgAllServer;
|
||||||
private final View mGifGiftTipGroupBuyGuard;
|
private final View mGifGiftTipGroupBuyGuard;
|
||||||
private final View mIvLookBuyGuard;
|
private final View mIvLookBuyGuard;
|
||||||
private final View mGifGiftTipGroupBuyZuoji;
|
private final View mGifGiftTipGroupBuyZuoji;
|
||||||
@ -162,6 +167,8 @@ public class LiveGiftAnimPresenter {
|
|||||||
private boolean mShowBuyLiangName;
|
private boolean mShowBuyLiangName;
|
||||||
private boolean mShowBuyVip;
|
private boolean mShowBuyVip;
|
||||||
|
|
||||||
|
private boolean mShowBlindBox;
|
||||||
|
|
||||||
|
|
||||||
private CommonCallback<File> mDownloadGifCallback;
|
private CommonCallback<File> mDownloadGifCallback;
|
||||||
private CommonCallback<File> mDownloadIconCallback;
|
private CommonCallback<File> mDownloadIconCallback;
|
||||||
@ -216,6 +223,8 @@ public class LiveGiftAnimPresenter {
|
|||||||
mTitleContainer = v.findViewById(R.id.title_container);
|
mTitleContainer = v.findViewById(R.id.title_container);
|
||||||
mSVGAImageViewFront = v.findViewById(R.id.svga_iv_all_server);
|
mSVGAImageViewFront = v.findViewById(R.id.svga_iv_all_server);
|
||||||
mIvLook = v.findViewById(R.id.iv_look);
|
mIvLook = v.findViewById(R.id.iv_look);
|
||||||
|
superNotice = v.findViewById(R.id.super_notice);
|
||||||
|
bgAllServer = v.findViewById(R.id.bg_all_server);
|
||||||
mIvLookBuyGuard = v.findViewById(R.id.iv_look_buy_guard);
|
mIvLookBuyGuard = v.findViewById(R.id.iv_look_buy_guard);
|
||||||
|
|
||||||
svgaImageViewCallback();
|
svgaImageViewCallback();
|
||||||
@ -325,8 +334,26 @@ public class LiveGiftAnimPresenter {
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
//切换直播间
|
//切换直播间
|
||||||
|
|
||||||
|
if (TextUtils.equals(mIvLook.getText().toString(),mContext.getString(R.string.participate_in))) {
|
||||||
|
new Handler().postDelayed(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
LiveGiftDialogFragment fragment = new LiveGiftDialogFragment();
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putString(Constants.LIVE_UID, mLiveUid);
|
||||||
|
bundle.putString(Constants.LIVE_STREAM, mStream);
|
||||||
|
bundle.putString(Constants.LIVE_WISH_GIFTID, blindBox.getEvent().getBlindBoxId() + "");
|
||||||
|
bundle.putBoolean("isContactGift", true);
|
||||||
|
fragment.setArguments(bundle);
|
||||||
|
fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveGiftDialogFragment");
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
} else {
|
||||||
changeLiveRoom();
|
changeLiveRoom();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
});
|
});
|
||||||
mGifGiftTipGroupAllServer.setOnClickListener(new View.OnClickListener() {
|
mGifGiftTipGroupAllServer.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -336,6 +363,14 @@ public class LiveGiftAnimPresenter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String mLiveUid;
|
||||||
|
public String mStream;
|
||||||
|
|
||||||
|
public void setLiveUidStream(String liveUid, String stream) {
|
||||||
|
mLiveUid = liveUid;
|
||||||
|
mStream = stream;
|
||||||
|
}
|
||||||
|
|
||||||
private void mIvLookBuyZuojiClick() {
|
private void mIvLookBuyZuojiClick() {
|
||||||
mGifGiftTipGroupBuyZuoji.setOnClickListener(new View.OnClickListener() {
|
mGifGiftTipGroupBuyZuoji.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -410,7 +445,7 @@ public class LiveGiftAnimPresenter {
|
|||||||
private void setGitTipAnimatorAllServer() {
|
private void setGitTipAnimatorAllServer() {
|
||||||
mDp500 = DpUtil.dp2px(500);
|
mDp500 = DpUtil.dp2px(500);
|
||||||
mGifGiftTipShowAnimatorAllServer = ObjectAnimator.ofFloat(mGifGiftTipGroupAllServer, "translationX", mDp500, 0);
|
mGifGiftTipShowAnimatorAllServer = ObjectAnimator.ofFloat(mGifGiftTipGroupAllServer, "translationX", mDp500, 0);
|
||||||
mGifGiftTipShowAnimatorAllServer.setDuration(2000);
|
mGifGiftTipShowAnimatorAllServer.setDuration(2500);
|
||||||
mGifGiftTipShowAnimatorAllServer.setInterpolator(new LinearInterpolator());
|
mGifGiftTipShowAnimatorAllServer.setInterpolator(new LinearInterpolator());
|
||||||
mGifGiftTipShowAnimatorAllServer.addListener(new AnimatorListenerAdapter() {
|
mGifGiftTipShowAnimatorAllServer.addListener(new AnimatorListenerAdapter() {
|
||||||
@Override
|
@Override
|
||||||
@ -422,7 +457,7 @@ public class LiveGiftAnimPresenter {
|
|||||||
});
|
});
|
||||||
mDp10 = DpUtil.dp2px(10);
|
mDp10 = DpUtil.dp2px(10);
|
||||||
mGifGiftTipHideAnimatorAllServer = ObjectAnimator.ofFloat(mGifGiftTipGroupAllServer, "translationX", 0);
|
mGifGiftTipHideAnimatorAllServer = ObjectAnimator.ofFloat(mGifGiftTipGroupAllServer, "translationX", 0);
|
||||||
mGifGiftTipHideAnimatorAllServer.setDuration(3000);
|
mGifGiftTipHideAnimatorAllServer.setDuration(3500);
|
||||||
mGifGiftTipHideAnimatorAllServer.setInterpolator(new AccelerateDecelerateInterpolator());
|
mGifGiftTipHideAnimatorAllServer.setInterpolator(new AccelerateDecelerateInterpolator());
|
||||||
mGifGiftTipHideAnimatorAllServer.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
|
mGifGiftTipHideAnimatorAllServer.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -673,11 +708,17 @@ public class LiveGiftAnimPresenter {
|
|||||||
mGifGiftTipHideAnimatorAllServer.start();
|
mGifGiftTipHideAnimatorAllServer.start();
|
||||||
} else if (msg.what == WHAT_ALL_SERVER_2) {
|
} else if (msg.what == WHAT_ALL_SERVER_2) {
|
||||||
mShowAllServer = false;
|
mShowAllServer = false;
|
||||||
|
mShowBlindBox = false;
|
||||||
heightOffsetArr[index4OtherGift] = 0;
|
heightOffsetArr[index4OtherGift] = 0;
|
||||||
LiveReceiveGiftBean bean = mGifAll.poll();
|
LiveReceiveGiftBean bean = mGifAll.poll();
|
||||||
if (bean != null) {
|
if (bean != null) {
|
||||||
|
if (bean.isBlindBox()) {
|
||||||
|
showSendGiftAnimAllServer2(bean);
|
||||||
|
} else {
|
||||||
chooseInto(bean);
|
chooseInto(bean);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
} else if (msg.what == WHAT_BUY_GUARD_1) {
|
} else if (msg.what == WHAT_BUY_GUARD_1) {
|
||||||
mGifGiftTipHideAnimatorBuyGuard.setFloatValues(0, -mDp10 - mGifGiftTipGroupBuyGuard.getWidth());
|
mGifGiftTipHideAnimatorBuyGuard.setFloatValues(0, -mDp10 - mGifGiftTipGroupBuyGuard.getWidth());
|
||||||
mGifGiftTipHideAnimatorBuyGuard.start();
|
mGifGiftTipHideAnimatorBuyGuard.start();
|
||||||
@ -832,8 +873,6 @@ public class LiveGiftAnimPresenter {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mShowAllServer = true;
|
mShowAllServer = true;
|
||||||
|
|
||||||
|
|
||||||
index4OtherGift = getFirstIndexOfValue(heightOffsetArr, 0);
|
index4OtherGift = getFirstIndexOfValue(heightOffsetArr, 0);
|
||||||
if (index4OtherGift >= 0) {
|
if (index4OtherGift >= 0) {
|
||||||
heightOffsetArr[index4OtherGift] = 1;
|
heightOffsetArr[index4OtherGift] = 1;
|
||||||
@ -843,16 +882,57 @@ public class LiveGiftAnimPresenter {
|
|||||||
params.topMargin = DpUtil.dp2px(y);
|
params.topMargin = DpUtil.dp2px(y);
|
||||||
mGifGiftTipGroupAllServer.setLayoutParams(params);
|
mGifGiftTipGroupAllServer.setLayoutParams(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
mAncherName = mTempGifGiftBean.getAncherName();
|
mAncherName = mTempGifGiftBean.getAncherName();
|
||||||
mGifGiftTipAllServer.setSelected(false);
|
mGifGiftTipAllServer.setSelected(false);
|
||||||
|
|
||||||
mIvLook.setVisibility(View.VISIBLE);
|
|
||||||
mGifGiftTipGroupAllServer.setAlpha(1f);
|
mGifGiftTipGroupAllServer.setAlpha(1f);
|
||||||
mGifGiftTipGroupAllServer.setVisibility(View.VISIBLE);
|
mGifGiftTipGroupAllServer.setVisibility(View.VISIBLE);
|
||||||
|
textRender.render(mContext, mGifGiftTipAllServer, mTempGifGiftBean.getGiftIcon(), mTempGifGiftBean.getUserNiceName(), mAncherName, mTempGifGiftBean.getGiftName(), 1, mWindowManager, "");
|
||||||
|
mIvLook.setVisibility(View.VISIBLE);
|
||||||
mGifGiftTipShowAnimatorAllServer.start();
|
mGifGiftTipShowAnimatorAllServer.start();
|
||||||
|
|
||||||
textRender.render(mContext, mGifGiftTipAllServer, mTempGifGiftBean.getGiftIcon(), mTempGifGiftBean.getUserNiceName(), mAncherName, mTempGifGiftBean.getGiftName(), 1, mWindowManager, "");
|
}
|
||||||
|
} //送礼物 全服通知
|
||||||
|
|
||||||
|
private LiveReceiveGiftBean blindBox = null;
|
||||||
|
|
||||||
|
public void showSendGiftAnimAllServer2(LiveReceiveGiftBean bean) {
|
||||||
|
blindBox = bean;
|
||||||
|
if (mShowBlindBox) {
|
||||||
|
if (mGifAll != null) {
|
||||||
|
mGifAll.offer(bean);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
mShowBlindBox = true;
|
||||||
|
mAncherName = bean.getAncherName();
|
||||||
|
mGifGiftTipAllServer.setSelected(false);
|
||||||
|
mGifGiftTipGroupAllServer.setAlpha(1f);
|
||||||
|
mGifGiftTipGroupAllServer.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
|
AllServerNotifyEvent serverNotifyEvent = bean.getEvent();
|
||||||
|
switch (Integer.parseInt(serverNotifyEvent.getBoxType())) {
|
||||||
|
case 1:
|
||||||
|
bgAllServer.setBackgroundResource(R.mipmap.bg_kirin_notify);
|
||||||
|
mIvLook.setBackgroundResource(R.drawable.bg_all_server_336cf7);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
bgAllServer.setBackgroundResource(R.mipmap.bg_phoenix_notify);
|
||||||
|
mIvLook.setBackgroundResource(R.drawable.bg_all_server_fd5a9d);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
bgAllServer.setBackgroundResource(R.mipmap.bg_dragon_notify);
|
||||||
|
mIvLook.setBackgroundResource(R.drawable.bg_all_server_fcb50e);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
mIvLook.setText(R.string.participate_in);
|
||||||
|
superNotice.setBackgroundResource(R.mipmap.icon_blind_box_headlines);
|
||||||
|
mIvLook.setVisibility(View.VISIBLE);
|
||||||
|
textRender.blindBoxText(mContext, mGifGiftTipAllServer, serverNotifyEvent);
|
||||||
|
mGifGiftTipShowAnimatorAllServer.start();
|
||||||
|
mGifGiftTipAllServer.postDelayed(() -> {
|
||||||
|
if (mGifGiftTipAllServer != null) {
|
||||||
|
mGifGiftTipAllServer.setSelected(true);
|
||||||
|
}
|
||||||
|
}, delayMarqueen + 600);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ import com.yunbao.common.bean.SocketModel;
|
|||||||
import com.yunbao.common.bean.UserBean;
|
import com.yunbao.common.bean.UserBean;
|
||||||
import com.yunbao.common.bean.WishModel;
|
import com.yunbao.common.bean.WishModel;
|
||||||
import com.yunbao.common.bean.XydCompleteModel;
|
import com.yunbao.common.bean.XydCompleteModel;
|
||||||
|
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||||
import com.yunbao.common.event.CustomFullServiceNotifyEvent;
|
import com.yunbao.common.event.CustomFullServiceNotifyEvent;
|
||||||
import com.yunbao.common.event.SendBlindGiftEvent;
|
import com.yunbao.common.event.SendBlindGiftEvent;
|
||||||
import com.yunbao.common.http.HttpCallback;
|
import com.yunbao.common.http.HttpCallback;
|
||||||
@ -363,6 +364,24 @@ public class SocketRyClient {
|
|||||||
buyZuoJiByNotify(map);
|
buyZuoJiByNotify(map);
|
||||||
} else if (action2 == 66) {//购买贵族
|
} else if (action2 == 66) {//购买贵族
|
||||||
buyVipByNotify(map);
|
buyVipByNotify(map);
|
||||||
|
} else if (action2 == 88) {
|
||||||
|
|
||||||
|
AllServerNotifyEvent allServerNotifyEvent
|
||||||
|
= new AllServerNotifyEvent()
|
||||||
|
.setBlindBoxId(map.getString("blind_box_id"))
|
||||||
|
.setBoxType(map.getString("box_type"))
|
||||||
|
.setBoxTypeName(map.getString("box_type_name"))
|
||||||
|
.setDressName(map.getString("dress_name"))
|
||||||
|
.setGiftNotification(map.getString("gift_notification"))
|
||||||
|
.setGiftName(map.getString("giftname"))
|
||||||
|
.setUserNiceName(map.getString("uname"))
|
||||||
|
.setGiftIcon(map.getString("gifticon"))
|
||||||
|
.setAnchorName(map.getString("ancherName"))
|
||||||
|
.setDisplaySrc(map.getString("display_src"));
|
||||||
|
Log.e("AllServerNotifyEvent", allServerNotifyEvent.toString());
|
||||||
|
Bus.get().post(new LiveAudienceEvent()
|
||||||
|
.setType(LiveAudienceEvent.LiveAudienceType.BLIND_BOX)
|
||||||
|
.setAllServerNotifyEvent(allServerNotifyEvent));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Constants.SOCKET_SEND_BARRAGE://发弹幕
|
case Constants.SOCKET_SEND_BARRAGE://发弹幕
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
package com.yunbao.live.utils;
|
package com.yunbao.live.utils;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.text.style.ForegroundColorSpan;
|
import android.text.style.ForegroundColorSpan;
|
||||||
|
import android.text.style.ImageSpan;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.yunbao.common.custom.VerticalImageSpan;
|
import com.yunbao.common.custom.VerticalImageSpan;
|
||||||
|
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
import com.yunbao.common.utils.DpUtil;
|
import com.yunbao.common.utils.DpUtil;
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.live.R;
|
||||||
@ -124,6 +128,95 @@ public class AllMsgTextRender {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盲盒字体组装
|
||||||
|
*
|
||||||
|
* @param context
|
||||||
|
* @param textView
|
||||||
|
* @param serverNotifyEvent
|
||||||
|
*/
|
||||||
|
public void blindBoxText(Context context, TextView textView, AllServerNotifyEvent serverNotifyEvent) {
|
||||||
|
String space = " ";
|
||||||
|
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
|
||||||
|
String extractTo = context.getString(R.string.extract_to);
|
||||||
|
extractTo = String.format(extractTo, serverNotifyEvent.getUserNiceName(), serverNotifyEvent.getBoxTypeName());
|
||||||
|
spannableStringBuilder.append(extractTo);
|
||||||
|
int indexImage = spannableStringBuilder.length();
|
||||||
|
int endImage = indexImage + space.length();
|
||||||
|
spannableStringBuilder.append(space);
|
||||||
|
String giftName;
|
||||||
|
int giftNameIndex;
|
||||||
|
int endName;
|
||||||
|
if (!TextUtils.isEmpty(serverNotifyEvent.getGiftNotification())
|
||||||
|
&& TextUtils.equals(serverNotifyEvent.getGiftNotification(), "1")) {
|
||||||
|
giftName = context.getString(R.string.extract_to2);
|
||||||
|
giftName = String.format(giftName, serverNotifyEvent.getGiftName(), serverNotifyEvent.getAnchorName());
|
||||||
|
spannableStringBuilder.append(giftName);
|
||||||
|
giftNameIndex = spannableStringBuilder.toString().indexOf(serverNotifyEvent.getGiftName());
|
||||||
|
endName = giftNameIndex + serverNotifyEvent.getGiftName().length();
|
||||||
|
ImgLoader.displayDrawable(context, serverNotifyEvent.getGiftIcon(), new ImgLoader.DrawableCallback() {
|
||||||
|
@Override
|
||||||
|
public void onLoadSuccess(Drawable drawable) {
|
||||||
|
drawable.setBounds(0, 0, DpUtil.dp2px(21), DpUtil.dp2px(21));
|
||||||
|
//用这个drawable对象代替字符串easy
|
||||||
|
ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
|
||||||
|
spannableStringBuilder.setSpan(span, indexImage, endImage, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
|
||||||
|
blind(spannableStringBuilder,textView,serverNotifyEvent,giftNameIndex,endName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadFailed() {
|
||||||
|
blind(spannableStringBuilder,textView,serverNotifyEvent,giftNameIndex,endName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
giftName = serverNotifyEvent.getDressName();
|
||||||
|
spannableStringBuilder.append(giftName);
|
||||||
|
giftNameIndex = spannableStringBuilder.toString().indexOf(giftName);
|
||||||
|
endName = giftNameIndex + giftName.length();
|
||||||
|
ImgLoader.displayDrawable(context, serverNotifyEvent.getDisplaySrc(), new ImgLoader.DrawableCallback() {
|
||||||
|
@Override
|
||||||
|
public void onLoadSuccess(Drawable drawable) {
|
||||||
|
drawable.setBounds(0, 0, DpUtil.dp2px(21), DpUtil.dp2px(21));
|
||||||
|
//用这个drawable对象代替字符串easy
|
||||||
|
ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
|
||||||
|
spannableStringBuilder.setSpan(span, indexImage, endImage, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
|
||||||
|
blind(spannableStringBuilder,textView,serverNotifyEvent,giftNameIndex,endName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadFailed() {
|
||||||
|
blind(spannableStringBuilder,textView,serverNotifyEvent,giftNameIndex,endName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void blind( SpannableStringBuilder spannableStringBuilder, TextView textView, AllServerNotifyEvent serverNotifyEvent, int giftNameIndex,int endName) {
|
||||||
|
switch (Integer.parseInt(serverNotifyEvent.getBoxType())) {
|
||||||
|
case 1:
|
||||||
|
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#336DF7")),
|
||||||
|
giftNameIndex,
|
||||||
|
endName,
|
||||||
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#FD5A9D")),
|
||||||
|
giftNameIndex,
|
||||||
|
endName,
|
||||||
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor("#FCB514")),
|
||||||
|
giftNameIndex,
|
||||||
|
endName,
|
||||||
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
textView.setText(spannableStringBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 渲染消息
|
* 渲染消息
|
||||||
*/
|
*/
|
||||||
|
@ -88,6 +88,7 @@ import com.yunbao.common.bean.TaskModel;
|
|||||||
import com.yunbao.common.bean.UserBean;
|
import com.yunbao.common.bean.UserBean;
|
||||||
import com.yunbao.common.bean.WishModel;
|
import com.yunbao.common.bean.WishModel;
|
||||||
import com.yunbao.common.bean.XydCompleteModel;
|
import com.yunbao.common.bean.XydCompleteModel;
|
||||||
|
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||||
import com.yunbao.common.event.AnchorInfoEvent;
|
import com.yunbao.common.event.AnchorInfoEvent;
|
||||||
import com.yunbao.common.event.CustomFullServiceNotifyEvent;
|
import com.yunbao.common.event.CustomFullServiceNotifyEvent;
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
@ -5093,4 +5094,15 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void blindBoxAllServerNotify(AllServerNotifyEvent event) {
|
||||||
|
LiveReceiveGiftBean receiveGiftBean = new LiveReceiveGiftBean();
|
||||||
|
receiveGiftBean.setBlindBox(true);
|
||||||
|
receiveGiftBean.setEvent(event);
|
||||||
|
if (mLiveGiftAnimPresenter == null) {
|
||||||
|
mLiveGiftAnimPresenter = new LiveGiftAnimPresenter(mContext, mContentView, mGifImageView, mSVGAImageView, mLiveGiftPrizePoolContainer, windowManager);
|
||||||
|
}
|
||||||
|
mLiveGiftAnimPresenter.showSendGiftAnimAllServer2(receiveGiftBean);
|
||||||
|
mLiveGiftAnimPresenter.setLiveUidStream(mLiveUid, mStream);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,7 @@ import com.yunbao.common.bean.UserBean;
|
|||||||
import com.yunbao.common.bean.WishModel;
|
import com.yunbao.common.bean.WishModel;
|
||||||
import com.yunbao.common.bean.XydCompleteModel;
|
import com.yunbao.common.bean.XydCompleteModel;
|
||||||
import com.yunbao.common.custom.MyViewPager;
|
import com.yunbao.common.custom.MyViewPager;
|
||||||
|
import com.yunbao.common.event.AllServerNotifyEvent;
|
||||||
import com.yunbao.common.event.FollowEvent;
|
import com.yunbao.common.event.FollowEvent;
|
||||||
import com.yunbao.common.event.LiveFloatEvent;
|
import com.yunbao.common.event.LiveFloatEvent;
|
||||||
import com.yunbao.common.event.SendBlindGiftEvent;
|
import com.yunbao.common.event.SendBlindGiftEvent;
|
||||||
@ -1999,4 +2000,10 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
|||||||
mLiveRoomViewHolder.showXydComplete(model, false, liveReceiveGiftBean);
|
mLiveRoomViewHolder.showXydComplete(model, false, liveReceiveGiftBean);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void blindBoxAllServerNotify(AllServerNotifyEvent event) {
|
||||||
|
if (mLiveRoomViewHolder != null) {
|
||||||
|
mLiveRoomViewHolder.blindBoxAllServerNotify(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
5
live/src/main/res/drawable/bg_all_server_336cf7.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||||
|
<corners android:radius="13dp" />
|
||||||
|
<solid android:color="#336CF7" />
|
||||||
|
</shape>
|
5
live/src/main/res/drawable/bg_all_server_fcb50e.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||||
|
<corners android:radius="13dp" />
|
||||||
|
<solid android:color="#FCB50E" />
|
||||||
|
</shape>
|
6
live/src/main/res/drawable/bg_all_server_fd5a9d.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<corners android:radius="13dp" />
|
||||||
|
<solid android:color="#FD5A9D" />
|
||||||
|
</shape>
|
@ -8,7 +8,7 @@
|
|||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="5dp"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@ -44,6 +44,8 @@
|
|||||||
android:layout_width="102dp"
|
android:layout_width="102dp"
|
||||||
android:layout_height="31dp"
|
android:layout_height="31dp"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginTop="70dp"
|
||||||
|
android:layout_marginBottom="5dp"
|
||||||
android:background="@drawable/bg_live_vip_blue"
|
android:background="@drawable/bg_live_vip_blue"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
@ -68,9 +70,9 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="start"
|
android:layout_gravity="start"
|
||||||
android:text="@string/live_gift_buy_gold"
|
android:text="@string/live_gift_buy_gold"
|
||||||
android:textStyle="bold"
|
|
||||||
android:textColor="#F5C600"
|
android:textColor="#F5C600"
|
||||||
android:textSize="10sp" />
|
android:textSize="10sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/vipGoldDesc"
|
android:id="@+id/vipGoldDesc"
|
||||||
@ -89,7 +91,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:visibility="gone">
|
android:visibility="invisible">
|
||||||
|
|
||||||
<include
|
<include
|
||||||
|
|
||||||
|
@ -9,15 +9,14 @@
|
|||||||
android:id="@+id/frame_blind_top"
|
android:id="@+id/frame_blind_top"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="86.5dp"
|
android:layout_height="86.5dp"
|
||||||
android:background="@mipmap/bg_phoenix">
|
android:background="@mipmap/bg_kirin">
|
||||||
|
|
||||||
<com.opensource.svgaplayer.SVGAImageView
|
<com.opensource.svgaplayer.SVGAImageView
|
||||||
android:id="@+id/blind_svga"
|
android:id="@+id/blind_svga"
|
||||||
android:layout_width="29dp"
|
android:layout_width="29dp"
|
||||||
android:layout_height="29dp"
|
android:layout_height="29dp"
|
||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_marginTop="51dp"
|
android:layout_marginTop="51dp" />
|
||||||
/>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@ -33,8 +32,8 @@
|
|||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/progress_blind3"
|
android:id="@+id/progress_blind3"
|
||||||
style="@android:style/Widget.ProgressBar.Horizontal"
|
style="@android:style/Widget.ProgressBar.Horizontal"
|
||||||
android:layout_width="74dp"
|
android:layout_width="80dp"
|
||||||
android:layout_height="6dp"
|
android:layout_height="8dp"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:max="100"
|
android:max="100"
|
||||||
android:progress="30"
|
android:progress="30"
|
||||||
@ -44,8 +43,8 @@
|
|||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/progress_blind1"
|
android:id="@+id/progress_blind1"
|
||||||
style="@android:style/Widget.ProgressBar.Horizontal"
|
style="@android:style/Widget.ProgressBar.Horizontal"
|
||||||
android:layout_width="74dp"
|
android:layout_width="80dp"
|
||||||
android:layout_height="6dp"
|
android:layout_height="8dp"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:max="100"
|
android:max="100"
|
||||||
android:progress="50"
|
android:progress="50"
|
||||||
@ -55,8 +54,8 @@
|
|||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/progress_blind2"
|
android:id="@+id/progress_blind2"
|
||||||
style="@android:style/Widget.ProgressBar.Horizontal"
|
style="@android:style/Widget.ProgressBar.Horizontal"
|
||||||
android:layout_width="74dp"
|
android:layout_width="80dp"
|
||||||
android:layout_height="6dp"
|
android:layout_height="8dp"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:max="100"
|
android:max="100"
|
||||||
android:progress="50"
|
android:progress="50"
|
||||||
@ -72,26 +71,28 @@
|
|||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/blind_number"
|
android:id="@+id/blind_number"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="90dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="5dp"
|
android:layout_marginStart="47dp"
|
||||||
|
android:layout_marginTop="71dp"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="6sp" />
|
android:textSize="8sp" />
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="13dp"
|
android:layout_width="13dp"
|
||||||
android:layout_height="13dp"
|
android:layout_height="13dp"
|
||||||
android:layout_gravity="end"
|
android:layout_gravity="end"
|
||||||
android:layout_marginTop="47dp"
|
android:layout_marginTop="40dp"
|
||||||
android:layout_marginEnd="19dp"
|
android:layout_marginEnd="15dp"
|
||||||
android:src="@mipmap/icon_what" />
|
android:src="@mipmap/icon_what" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="139dp"
|
android:layout_width="149dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@mipmap/bg_blind_bottom">
|
android:background="@mipmap/bg_blind_bottom">
|
||||||
|
|
||||||
@ -100,15 +101,15 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:layout_margin="7dp"
|
android:layout_margin="5dp"
|
||||||
android:ellipsize="marquee"
|
android:ellipsize="marquee"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:focusableInTouchMode="true"
|
android:focusableInTouchMode="true"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="7sp"
|
|
||||||
android:marqueeRepeatLimit="marquee_forever"
|
android:marqueeRepeatLimit="marquee_forever"
|
||||||
android:scrollHorizontally="true"
|
android:scrollHorizontally="true"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="@color/white" />
|
android:textColor="@color/white"
|
||||||
|
android:textSize="10sp" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -970,6 +970,7 @@
|
|||||||
android:visibility="invisible">
|
android:visibility="invisible">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/bg_all_server"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="30dp"
|
android:layout_height="30dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
@ -978,8 +979,9 @@
|
|||||||
android:background="@drawable/bg_live_gift_tip"
|
android:background="@drawable/bg_live_gift_tip"
|
||||||
android:gravity="center|left"
|
android:gravity="center|left"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
<!--盲盒头条-->
|
||||||
<View
|
<View
|
||||||
|
android:id="@+id/super_notice"
|
||||||
android:layout_width="63dp"
|
android:layout_width="63dp"
|
||||||
android:layout_height="18sp"
|
android:layout_height="18sp"
|
||||||
android:layout_marginLeft="18dp"
|
android:layout_marginLeft="18dp"
|
||||||
|
BIN
live/src/main/res/mipmap-mdpi/bg_dragon_notify.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
live/src/main/res/mipmap-mdpi/bg_kirin_notify.png
Normal file
After Width: | Height: | Size: 152 KiB |
BIN
live/src/main/res/mipmap-mdpi/bg_phoenix_notify.png
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
live/src/main/res/mipmap-mdpi/icon_blind_box_headlines.png
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 360 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 251 KiB After Width: | Height: | Size: 74 KiB |
@ -45,6 +45,7 @@ import com.yunbao.main.adapter.MainListAdapter;
|
|||||||
import com.yunbao.main.bean.ListBean;
|
import com.yunbao.main.bean.ListBean;
|
||||||
import com.yunbao.main.http.MainHttpUtil;
|
import com.yunbao.main.http.MainHttpUtil;
|
||||||
import com.yunbao.main.views.AbsMainListChildViewHolder;
|
import com.yunbao.main.views.AbsMainListChildViewHolder;
|
||||||
|
import com.yunbao.main.views.MainListBoxBlindViewHolder;
|
||||||
import com.yunbao.main.views.MainListContributeViewHolder;
|
import com.yunbao.main.views.MainListContributeViewHolder;
|
||||||
import com.yunbao.main.views.MainListProfitViewHolder;
|
import com.yunbao.main.views.MainListProfitViewHolder;
|
||||||
import com.yunbao.main.views.MyClipPagerTitleView;
|
import com.yunbao.main.views.MyClipPagerTitleView;
|
||||||
@ -72,7 +73,7 @@ import java.util.List;
|
|||||||
import pl.droidsonroids.gif.GifImageView;
|
import pl.droidsonroids.gif.GifImageView;
|
||||||
|
|
||||||
public class MainListActivity extends AbsActivity implements OnItemClickListener<ListBean> {
|
public class MainListActivity extends AbsActivity implements OnItemClickListener<ListBean> {
|
||||||
private static final int PAGE_COUNT = 2;
|
private static final int PAGE_COUNT = 3;
|
||||||
public static final String DAY = "day";
|
public static final String DAY = "day";
|
||||||
public static final String WEEK = "week";
|
public static final String WEEK = "week";
|
||||||
public static final String MONTH = "month";
|
public static final String MONTH = "month";
|
||||||
@ -121,7 +122,8 @@ public class MainListActivity extends AbsActivity implements OnItemClickListener
|
|||||||
mIndicator = (MagicIndicator) findViewById(R.id.indicator);
|
mIndicator = (MagicIndicator) findViewById(R.id.indicator);
|
||||||
final String[] titles = new String[]{
|
final String[] titles = new String[]{
|
||||||
(mContext.getString(R.string.glamour_list)),
|
(mContext.getString(R.string.glamour_list)),
|
||||||
(mContext.getString(R.string.magnificent_list))
|
(mContext.getString(R.string.magnificent_list)),
|
||||||
|
(mContext.getString(R.string.blind_box_list))
|
||||||
};
|
};
|
||||||
CommonNavigator commonNavigator = new CommonNavigator(mContext);
|
CommonNavigator commonNavigator = new CommonNavigator(mContext);
|
||||||
commonNavigator.setAdapter(new CommonNavigatorAdapter() {
|
commonNavigator.setAdapter(new CommonNavigatorAdapter() {
|
||||||
@ -231,9 +233,12 @@ public class MainListActivity extends AbsActivity implements OnItemClickListener
|
|||||||
if (position == 0) {
|
if (position == 0) {
|
||||||
select.setTextColor(Color.parseColor("#FF82C1"));
|
select.setTextColor(Color.parseColor("#FF82C1"));
|
||||||
unSelect.setTextColor(Color.parseColor("#FFFFFF"));
|
unSelect.setTextColor(Color.parseColor("#FFFFFF"));
|
||||||
} else {
|
} else if (position == 1){
|
||||||
select.setTextColor(Color.parseColor("#7BBAFF"));
|
select.setTextColor(Color.parseColor("#7BBAFF"));
|
||||||
unSelect.setTextColor(Color.parseColor("#FFFFFF"));
|
unSelect.setTextColor(Color.parseColor("#FFFFFF"));
|
||||||
|
}else if (position == 2){
|
||||||
|
select.setTextColor(Color.parseColor("#ff9072"));
|
||||||
|
unSelect.setTextColor(Color.parseColor("#FFFFFF"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,6 +261,11 @@ public class MainListActivity extends AbsActivity implements OnItemClickListener
|
|||||||
mContributeViewHolder.setHide(outRankHide);
|
mContributeViewHolder.setHide(outRankHide);
|
||||||
vh = mContributeViewHolder;
|
vh = mContributeViewHolder;
|
||||||
vh.setAppbarColor(Color.parseColor("#73B2FF"));
|
vh.setAppbarColor(Color.parseColor("#73B2FF"));
|
||||||
|
}else if (position == 2) {
|
||||||
|
MainListBoxBlindViewHolder mainListBoxBlindViewHolder = new MainListBoxBlindViewHolder(mContext,parent);
|
||||||
|
mainListBoxBlindViewHolder.setHide(outRankHide);
|
||||||
|
vh = mainListBoxBlindViewHolder;
|
||||||
|
vh.setAppbarColor(Color.parseColor("#ff9072"));
|
||||||
}
|
}
|
||||||
if (vh == null) {
|
if (vh == null) {
|
||||||
return;
|
return;
|
||||||
|
@ -51,7 +51,7 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
|
|||||||
private List<ListBean> mTopList;
|
private List<ListBean> mTopList;
|
||||||
private int mType;
|
private int mType;
|
||||||
private List<String> outRankHide = new ArrayList<>();
|
private List<String> outRankHide = new ArrayList<>();
|
||||||
protected boolean isRankOne;//是否为魅力榜 (第一个tab)
|
protected int isRankOne;//是否为魅力榜 (第一个tab)
|
||||||
|
|
||||||
|
|
||||||
public MainListAdapter(Context context, int type) {
|
public MainListAdapter(Context context, int type) {
|
||||||
@ -93,7 +93,7 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRankOne(boolean rankOne) {
|
public void setRankOne(int rankOne) {
|
||||||
isRankOne = rankOne;
|
isRankOne = rankOne;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -267,12 +267,15 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
|
|||||||
} else {
|
} else {
|
||||||
mBtnFollow.doChecked(false);
|
mBtnFollow.doChecked(false);
|
||||||
mBtnFollow.setText(mFollow);
|
mBtnFollow.setText(mFollow);
|
||||||
if(isRankOne){
|
if(isRankOne==0){
|
||||||
mBtnFollow.setBackgroundResource(R.drawable.background_ff82c1);
|
mBtnFollow.setBackgroundResource(R.drawable.background_ff82c1);
|
||||||
mBtnFollow.setTextColor(Color.parseColor("#FF82C1"));
|
mBtnFollow.setTextColor(Color.parseColor("#FF82C1"));
|
||||||
}else {
|
}else if(isRankOne==1){
|
||||||
mBtnFollow.setBackgroundResource(R.drawable.background_ff7bbaff);
|
mBtnFollow.setBackgroundResource(R.drawable.background_ff7bbaff);
|
||||||
mBtnFollow.setTextColor(Color.parseColor("#7BBAFF"));
|
mBtnFollow.setTextColor(Color.parseColor("#7BBAFF"));
|
||||||
|
}else if(isRankOne==2){
|
||||||
|
mBtnFollow.setBackgroundResource(R.drawable.background_ffff9072);
|
||||||
|
mBtnFollow.setTextColor(Color.parseColor("#ff9072"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mSex.setVisibility(View.INVISIBLE);
|
mSex.setVisibility(View.INVISIBLE);
|
||||||
|
@ -15,6 +15,7 @@ public class MainHttpConsts {
|
|||||||
public static final String GET_NEAR = "getNear";
|
public static final String GET_NEAR = "getNear";
|
||||||
public static final String PROFIT_LIST = "profitList";
|
public static final String PROFIT_LIST = "profitList";
|
||||||
public static final String CONSUME_LIST = "consumeList";
|
public static final String CONSUME_LIST = "consumeList";
|
||||||
|
public static final String BLIND_BOX_LIST = "blindBoxList";
|
||||||
public static final String GET_BASE_INFO = "getBaseInfo";
|
public static final String GET_BASE_INFO = "getBaseInfo";
|
||||||
public static final String SET_BLACK = "setBlack";
|
public static final String SET_BLACK = "setBlack";
|
||||||
public static final String GET_SETTING_LIST = "getSettingList";
|
public static final String GET_SETTING_LIST = "getSettingList";
|
||||||
|
@ -198,6 +198,14 @@ public class MainHttpUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//排行榜 盲盒榜
|
||||||
|
public static void blindBoxList(String type, int p, HttpCallback callback) {
|
||||||
|
HttpClient.getInstance().get("Home.blindBoxList", MainHttpConsts.BLIND_BOX_LIST)
|
||||||
|
.params("type", type)
|
||||||
|
.params("p", p)
|
||||||
|
.execute(callback);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取谷歌
|
* 获取谷歌
|
||||||
@ -324,6 +332,7 @@ public class MainHttpUtil {
|
|||||||
.params("p", p)
|
.params("p", p)
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 搜索
|
* 搜索
|
||||||
*/
|
*/
|
||||||
@ -696,6 +705,7 @@ public class MainHttpUtil {
|
|||||||
HttpClient.getInstance().get("User.isInstructor", MainHttpConsts.ISINSTRUCTOR)
|
HttpClient.getInstance().get("User.isInstructor", MainHttpConsts.ISINSTRUCTOR)
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
public static void setMessageReadAll() {
|
public static void setMessageReadAll() {
|
||||||
HttpClient.getInstance().get("User.getUserInstructor", "")
|
HttpClient.getInstance().get("User.getUserInstructor", "")
|
||||||
@ -706,6 +716,7 @@ public class MainHttpUtil {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取设备号有没有注册过
|
* 获取设备号有没有注册过
|
||||||
*/
|
*/
|
||||||
|
@ -31,7 +31,6 @@ import com.yunbao.common.utils.CommonIconUtil;
|
|||||||
import com.yunbao.common.utils.RouteUtil;
|
import com.yunbao.common.utils.RouteUtil;
|
||||||
import com.yunbao.common.utils.SVGAViewUtils;
|
import com.yunbao.common.utils.SVGAViewUtils;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
|
||||||
import com.yunbao.common.views.AbsMainViewHolder;
|
import com.yunbao.common.views.AbsMainViewHolder;
|
||||||
import com.yunbao.live.http.LiveHttpUtil;
|
import com.yunbao.live.http.LiveHttpUtil;
|
||||||
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
|
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
|
||||||
@ -57,7 +56,7 @@ public abstract class AbsMainListChildViewHolder extends AbsMainViewHolder imple
|
|||||||
public static final String MONTH = "month";
|
public static final String MONTH = "month";
|
||||||
public static final String TOTAL = "total";
|
public static final String TOTAL = "total";
|
||||||
protected String mType;
|
protected String mType;
|
||||||
protected boolean isRankOne;//是否为魅力榜 (第一个tab)
|
protected int isRankOne;//是否为魅力榜 (第一个tab)
|
||||||
protected CommonRefreshView mRefreshView;
|
protected CommonRefreshView mRefreshView;
|
||||||
public MainListAdapter mAdapter;
|
public MainListAdapter mAdapter;
|
||||||
protected OnLoadData loadData;
|
protected OnLoadData loadData;
|
||||||
@ -216,8 +215,10 @@ public abstract class AbsMainListChildViewHolder extends AbsMainViewHolder imple
|
|||||||
}
|
}
|
||||||
if (position == 0) {
|
if (position == 0) {
|
||||||
mBackgroundLayout.setBackgroundResource(R.mipmap.bg_glamour_top);
|
mBackgroundLayout.setBackgroundResource(R.mipmap.bg_glamour_top);
|
||||||
} else {
|
} else if (position == 1) {
|
||||||
mBackgroundLayout.setBackgroundResource(R.mipmap.bg_glamour2_top);
|
mBackgroundLayout.setBackgroundResource(R.mipmap.bg_glamour2_top);
|
||||||
|
} else if (position == 2) {
|
||||||
|
mBackgroundLayout.setBackgroundResource(R.mipmap.bg_glamour3_top);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -336,12 +337,15 @@ public abstract class AbsMainListChildViewHolder extends AbsMainViewHolder imple
|
|||||||
if (bean.getAttention() != 1) {
|
if (bean.getAttention() != 1) {
|
||||||
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).doChecked(true);
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).doChecked(true);
|
||||||
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setText("+" + mContext.getString(R.string.follow));
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setText("+" + mContext.getString(R.string.follow));
|
||||||
if (isRankOne) {
|
if (isRankOne==0) {
|
||||||
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setBackgroundResource(R.drawable.background_ffff79c2);
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setBackgroundResource(R.drawable.background_ffff79c2);
|
||||||
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setTextColor(Color.parseColor("#FFFFFF"));
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setTextColor(Color.parseColor("#FFFFFF"));
|
||||||
} else {
|
} else if (isRankOne==1){
|
||||||
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setBackgroundResource(R.drawable.background_7bbaff);
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setBackgroundResource(R.drawable.background_7bbaff);
|
||||||
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setTextColor(Color.parseColor("#FFFFFF"));
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setTextColor(Color.parseColor("#FFFFFF"));
|
||||||
|
} else if (isRankOne == 2) {
|
||||||
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setBackgroundResource(R.drawable.background_ff9072);
|
||||||
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setTextColor(Color.parseColor("#FFFFFF"));
|
||||||
}
|
}
|
||||||
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.VISIBLE);
|
getItem(position, mBtnFollow1, mBtnFollow2, mBtnFollow3).setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
@ -0,0 +1,95 @@
|
|||||||
|
package com.yunbao.main.views;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.yunbao.common.adapter.RefreshAdapter;
|
||||||
|
import com.yunbao.common.custom.CommonRefreshView;
|
||||||
|
import com.yunbao.common.http.HttpCallback;
|
||||||
|
import com.yunbao.main.adapter.MainListAdapter;
|
||||||
|
import com.yunbao.main.bean.ListBean;
|
||||||
|
import com.yunbao.main.http.MainHttpUtil;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排行榜,盲盒榜
|
||||||
|
*/
|
||||||
|
public class MainListBoxBlindViewHolder extends AbsMainListChildViewHolder {
|
||||||
|
private List<String> outRankHide = new ArrayList<>();
|
||||||
|
|
||||||
|
public MainListBoxBlindViewHolder(Context context, ViewGroup parentView) {
|
||||||
|
super(context, parentView);
|
||||||
|
isRankOne = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
super.init();
|
||||||
|
mRefreshView.setDataHelper(new CommonRefreshView.DataHelper<ListBean>() {
|
||||||
|
@Override
|
||||||
|
public RefreshAdapter<ListBean> getAdapter() {
|
||||||
|
if (mAdapter == null) {
|
||||||
|
mAdapter = new MainListAdapter(mContext, MainListAdapter.TYPE_CONTRIBUTE);
|
||||||
|
mAdapter.setRankOne(isRankOne);
|
||||||
|
mAdapter.setOnItemClickListener(MainListBoxBlindViewHolder.this);
|
||||||
|
}
|
||||||
|
mAdapter.setHide(outRankHide);
|
||||||
|
return mAdapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadData(int p, HttpCallback callback) {
|
||||||
|
if (!mType.isEmpty()) {
|
||||||
|
MainHttpUtil.blindBoxList(mType, p, callback);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ListBean> processData(String[] info) {
|
||||||
|
list = JSON.parseArray(Arrays.toString(info), ListBean.class);
|
||||||
|
if (mRefreshView.getPageCount() == 1) {
|
||||||
|
if (loadData != null) {
|
||||||
|
loadData.onData(list, outRankHide);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mAdapter.setHide(outRankHide);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRefreshSuccess(List<ListBean> list, int listCount) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRefreshFailure() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadMoreSuccess(List<ListBean> loadItemList, int loadItemCount) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadMoreFailure() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置隐藏数据
|
||||||
|
*
|
||||||
|
* @param outRankHide
|
||||||
|
*/
|
||||||
|
public void setHide(List<String> outRankHide) {
|
||||||
|
this.outRankHide = outRankHide;
|
||||||
|
if (mAdapter != null)
|
||||||
|
mAdapter.setHide(outRankHide);
|
||||||
|
}
|
||||||
|
}
|
@ -27,7 +27,7 @@ public class MainListContributeViewHolder extends AbsMainListChildViewHolder {
|
|||||||
|
|
||||||
public MainListContributeViewHolder(Context context, ViewGroup parentView) {
|
public MainListContributeViewHolder(Context context, ViewGroup parentView) {
|
||||||
super(context, parentView);
|
super(context, parentView);
|
||||||
isRankOne = false;
|
isRankOne = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -24,7 +24,7 @@ public class MainListProfitViewHolder extends AbsMainListChildViewHolder {
|
|||||||
|
|
||||||
public MainListProfitViewHolder(Context context, ViewGroup parentView) {
|
public MainListProfitViewHolder(Context context, ViewGroup parentView) {
|
||||||
super(context, parentView);
|
super(context, parentView);
|
||||||
isRankOne = true;
|
isRankOne = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
10
main/src/main/res/drawable/background_ff9072.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:width="62dp" android:height="26dp">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<stroke android:width="1dp" android:color="#ffffffff" />
|
||||||
|
<solid android:color="#FF9072" />
|
||||||
|
<corners android:radius="14dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
9
main/src/main/res/drawable/background_ffff9072.xml
Normal 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="68dp" android:height="28dp">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<stroke android:width="1dp" android:color="#FF9072" />
|
||||||
|
<corners android:radius="14dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
@ -16,6 +16,7 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
</androidx.viewpager.widget.ViewPager>
|
</androidx.viewpager.widget.ViewPager>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/bg_layout"
|
android:id="@+id/bg_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -91,5 +92,4 @@
|
|||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
BIN
main/src/main/res/mipmap-xxhdpi/bg_glamour3_top.png
Normal file
After Width: | Height: | Size: 277 KiB |