新版守护,空页面,列表页面。守护类型开通页面。开通时间页面
@@ -36,6 +36,8 @@ import com.yunbao.common.event.CoinChangeEvent;
|
||||
import com.yunbao.common.event.FollowEvent;
|
||||
import com.yunbao.common.event.SendBlindGiftEvent;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.KeyBoardHeightChangeListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
@@ -48,7 +50,7 @@ import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.utils.formatBigNum;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.GuardUserBean;
|
||||
import com.yunbao.live.bean.GuardUserModel;
|
||||
import com.yunbao.live.bean.LiveBuyGuardMsgBean;
|
||||
import com.yunbao.live.bean.LiveChatBean;
|
||||
import com.yunbao.live.bean.LiveDanMuBean;
|
||||
@@ -64,21 +66,18 @@ import com.yunbao.live.dialog.LiveFansFragment;
|
||||
import com.yunbao.live.dialog.LiveFansMedalOkDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveGiveHotDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveGuardBuyDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveGuardDialog;
|
||||
import com.yunbao.live.dialog.LiveGuardDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveInputDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveMicAnchorDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveMoreDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveNewGuardBuyDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveNewGuardDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveNewGuardListDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveRedPackListDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveRedPackSendDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveShareDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveUserAnchorMailBoxPopDialog;
|
||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||
import com.yunbao.live.dialog.LiveUserMoreDialogFragment;
|
||||
import com.yunbao.common.http.LiveHttpConsts;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.live.presenter.LiveLinkMicAnchorPresenter;
|
||||
import com.yunbao.live.presenter.LiveLinkMicPkPresenter;
|
||||
import com.yunbao.live.presenter.LiveLinkMicPresenter;
|
||||
@@ -735,7 +734,8 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
|
||||
}
|
||||
}
|
||||
public Handler mHandler = new Handler();
|
||||
|
||||
public Handler mHandler = new Handler();
|
||||
public pkRunnable pr;
|
||||
|
||||
public class pkRunnable implements Runnable {
|
||||
@@ -1269,19 +1269,22 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
||||
LiveHttpUtil.getGuardList(uid, 1, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
List<GuardUserBean> list = JSON.parseArray(Arrays.toString(info), GuardUserBean.class);
|
||||
List<GuardUserModel> list = JSON.parseArray(Arrays.toString(info), GuardUserModel.class);
|
||||
Log.e("getGuardList", list.toString());
|
||||
if (list.isEmpty()) {
|
||||
openNewBuyGuardWindow(true);
|
||||
// openNewBuyGuardWindow(true);
|
||||
new LiveGuardDialog(mContext, true,mLiveUid).showDialog();
|
||||
} else {
|
||||
LiveNewGuardDialogFragment fragment = new LiveNewGuardDialogFragment();
|
||||
fragment.setList(list);
|
||||
fragment.setLiveGuardInfo(mLiveGuardInfo);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(Constants.LIVE_UID, mLiveUid);
|
||||
bundle.putBoolean(Constants.ANCHOR, mIsAnchor);
|
||||
bundle.putBoolean("showBuyView", !showBuyView);
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(getSupportFragmentManager(), "LiveGuardDialogFragment");
|
||||
// LiveNewGuardDialogFragment fragment = new LiveNewGuardDialogFragment();
|
||||
// fragment.setList(list);
|
||||
// fragment.setLiveGuardInfo(mLiveGuardInfo);
|
||||
// Bundle bundle = new Bundle();
|
||||
// bundle.putString(Constants.LIVE_UID, mLiveUid);
|
||||
// bundle.putBoolean(Constants.ANCHOR, mIsAnchor);
|
||||
// bundle.putBoolean("showBuyView", !showBuyView);
|
||||
// fragment.setArguments(bundle);
|
||||
// fragment.show(getSupportFragmentManager(), "LiveGuardDialogFragment");
|
||||
new LiveGuardDialog(mContext, false,mLiveUid).showDialog();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.yunbao.live.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.GuardUserModel;
|
||||
import com.yunbao.live.views.NewGuardViewHolder;
|
||||
|
||||
public class NewGuardAdapter extends RefreshAdapter<GuardUserModel> {
|
||||
public NewGuardAdapter(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new NewGuardViewHolder(mInflater.inflate(R.layout.view_new_guard_item, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
NewGuardViewHolder newGuardViewHolder = (NewGuardViewHolder) holder;
|
||||
newGuardViewHolder.setData(mList.get(position), position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mList.size();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
package com.yunbao.live.bean;
|
||||
|
||||
import com.stx.xhb.androidx.entity.BaseBannerInfo;
|
||||
|
||||
public class BuyGuardBannerModel implements BaseBannerInfo {
|
||||
private int guardImage;
|
||||
private String name;
|
||||
|
||||
private String guardianMedal;
|
||||
private int guardOpen;
|
||||
private int[] gradientColors;
|
||||
private String userAvatar;
|
||||
private String liveAvatar;
|
||||
private boolean isOpen;
|
||||
|
||||
public boolean isOpen() {
|
||||
return isOpen;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setOpen(boolean open) {
|
||||
isOpen = open;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserAvatar() {
|
||||
return userAvatar;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setUserAvatar(String userAvatar) {
|
||||
this.userAvatar = userAvatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLiveAvatar() {
|
||||
return liveAvatar;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setLiveAvatar(String liveAvatar) {
|
||||
this.liveAvatar = liveAvatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int[] getGradientColors() {
|
||||
return gradientColors;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setGradientColors(int[] gradientColors) {
|
||||
this.gradientColors = gradientColors;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardOpen() {
|
||||
return guardOpen;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setGuardOpen(int guardOpen) {
|
||||
this.guardOpen = guardOpen;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGuardianMedal() {
|
||||
return guardianMedal;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setGuardImage(int guardImage) {
|
||||
this.guardImage = guardImage;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setGuardianMedal(String guardianMedal) {
|
||||
this.guardianMedal = guardianMedal;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public BuyGuardBannerModel setName(String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardImage() {
|
||||
return guardImage;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Object getXBannerUrl() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getXBannerTitle() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
199
live/src/main/java/com/yunbao/live/bean/GuardUserModel.java
Normal file
@@ -0,0 +1,199 @@
|
||||
package com.yunbao.live.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
|
||||
public class GuardUserModel extends BaseModel {
|
||||
/**
|
||||
* {
|
||||
* "id": 98888,
|
||||
* "user_nicename": "周末暴打小朋友",
|
||||
* "avatar": "https://downs.yaoulive.com/mannine.png",
|
||||
* "sex": 1,
|
||||
* "type": 1,
|
||||
* "level": "33",
|
||||
* "dress_img": "https://downs.yaoulive.com/dress/effect/huangdi-touxiang.svga",
|
||||
* "contribute": "40680",
|
||||
* "level_thumb": "https://downs.yaoulive.com/level/user_lv30_bg.png",
|
||||
* "guard_type": 1,
|
||||
* "guard_exp": 0,
|
||||
* "guard_level": 1,
|
||||
* "guard_name": "星之守護",
|
||||
* "guard_img": "https://ceshi.yaoulive.com/data/upload/20240304/guard_xing_open.png"
|
||||
* }
|
||||
*/
|
||||
@SerializedName("id")
|
||||
private int id;
|
||||
@SerializedName("user_nicename")
|
||||
private String userNicename;
|
||||
@SerializedName("avatar")
|
||||
private String avatar;
|
||||
@SerializedName("sex")
|
||||
private int sex;
|
||||
@SerializedName("type")
|
||||
private int type;
|
||||
@SerializedName("level")
|
||||
private String level;
|
||||
@SerializedName("dress_img")
|
||||
private String dressImg;
|
||||
@SerializedName("contribute")
|
||||
private String contribute;
|
||||
@SerializedName("level_thumb")
|
||||
private String levelThumb;
|
||||
@SerializedName("guard_type")
|
||||
private int guardType;
|
||||
@SerializedName("guard_exp")
|
||||
private int guardExp;
|
||||
@SerializedName("guard_level")
|
||||
private int guardLevel;
|
||||
@SerializedName("guard_name")
|
||||
private String guardName;
|
||||
@SerializedName("guard_img")
|
||||
private String guardImg;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public GuardUserModel setId(int id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserNicename() {
|
||||
return userNicename;
|
||||
}
|
||||
|
||||
public GuardUserModel setUserNicename(String userNicename) {
|
||||
this.userNicename = userNicename;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getAvatar() {
|
||||
return avatar;
|
||||
}
|
||||
|
||||
public GuardUserModel setAvatar(String avatar) {
|
||||
this.avatar = avatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public GuardUserModel setSex(int sex) {
|
||||
this.sex = sex;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public GuardUserModel setType(int type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public GuardUserModel setLevel(String level) {
|
||||
this.level = level;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDressImg() {
|
||||
return dressImg;
|
||||
}
|
||||
|
||||
public GuardUserModel setDressImg(String dressImg) {
|
||||
this.dressImg = dressImg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getContribute() {
|
||||
return contribute;
|
||||
}
|
||||
|
||||
public GuardUserModel setContribute(String contribute) {
|
||||
this.contribute = contribute;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLevelThumb() {
|
||||
return levelThumb;
|
||||
}
|
||||
|
||||
public GuardUserModel setLevelThumb(String levelThumb) {
|
||||
this.levelThumb = levelThumb;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardType() {
|
||||
return guardType;
|
||||
}
|
||||
|
||||
public GuardUserModel setGuardType(int guardType) {
|
||||
this.guardType = guardType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardExp() {
|
||||
return guardExp;
|
||||
}
|
||||
|
||||
public GuardUserModel setGuardExp(int guardExp) {
|
||||
this.guardExp = guardExp;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardLevel() {
|
||||
return guardLevel;
|
||||
}
|
||||
|
||||
public GuardUserModel setGuardLevel(int guardLevel) {
|
||||
this.guardLevel = guardLevel;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGuardName() {
|
||||
return guardName;
|
||||
}
|
||||
|
||||
public GuardUserModel setGuardName(String guardName) {
|
||||
this.guardName = guardName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGuardImg() {
|
||||
return guardImg;
|
||||
}
|
||||
|
||||
public GuardUserModel setGuardImg(String guardImg) {
|
||||
this.guardImg = guardImg;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "GuardUserModel{" +
|
||||
"id=" + id +
|
||||
", userNicename='" + userNicename + '\'' +
|
||||
", avatar='" + avatar + '\'' +
|
||||
", sex=" + sex +
|
||||
", type=" + type +
|
||||
", level='" + level + '\'' +
|
||||
", dressImg='" + dressImg + '\'' +
|
||||
", contribute='" + contribute + '\'' +
|
||||
", levelThumb='" + levelThumb + '\'' +
|
||||
", guardType=" + guardType +
|
||||
", guardExp=" + guardExp +
|
||||
", guardLevel=" + guardLevel +
|
||||
", guardName='" + guardName + '\'' +
|
||||
", guardImg='" + guardImg + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,44 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.PagerSnapHelper;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.flyjingfish.gradienttextviewlib.GradientTextView;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.custom.ItemDecoration;
|
||||
import com.lxj.xpopup.enums.PopupPosition;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.stx.xhb.androidx.XBanner;
|
||||
import com.yunbao.common.adapter.LiveBuyGuardPrivilegeAdapter;
|
||||
import com.yunbao.common.bean.GuardDataTipModel;
|
||||
import com.yunbao.common.bean.GuardGetGuardOpenInfoModel;
|
||||
import com.yunbao.common.bean.GuardPriceModel;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.dialog.LiveBuyGuardSelectPopup;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.LiveBuyGuardTopListAdapter;
|
||||
import com.yunbao.live.custom.LiveBuyGuardLinearLayoutManager;
|
||||
import com.yunbao.live.bean.BuyGuardBannerModel;
|
||||
import com.yunbao.live.fragments.LiveBuyGuardVPFragment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -24,11 +46,31 @@ import java.util.List;
|
||||
|
||||
public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
FragmentActivity activity;
|
||||
RecyclerView recyclerView;
|
||||
List<Fragment> fragments=new ArrayList<>();
|
||||
public LiveBuyGuardDialog(@NonNull Context context) {
|
||||
|
||||
List<Fragment> fragments = new ArrayList<>();
|
||||
XBanner buyGuardBanner;
|
||||
List<BuyGuardBannerModel> buyGuardBannerModels = new ArrayList<>();
|
||||
|
||||
FrameLayout bottomPanel;
|
||||
ImageView btnGuard;
|
||||
TextView openTheGuard;
|
||||
TextView originalPrice;
|
||||
long animDuration = 500;
|
||||
ImageView guardArrow;
|
||||
TextView guardMonth;
|
||||
String mLiveUid;
|
||||
List<GuardDataTipModel> guardDataTipModels;
|
||||
List<GuardPriceModel> price = new ArrayList<>();
|
||||
TextView discountPrice, discount;
|
||||
GuardPriceModel guardPriceModel;
|
||||
RecyclerView guardPrivilege;
|
||||
LiveBuyGuardPrivilegeAdapter buyGuardPrivilegeAdapter;
|
||||
List<String> guardPrivilegeStrings = new ArrayList<>();
|
||||
|
||||
public LiveBuyGuardDialog(@NonNull Context context, String liveUid) {
|
||||
super(context);
|
||||
activity=(FragmentActivity) context;
|
||||
activity = (FragmentActivity) context;
|
||||
mLiveUid = liveUid;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -41,26 +83,197 @@ public class LiveBuyGuardDialog extends AbsDialogPopupWindow {
|
||||
return R.layout.dialog_live_buy_guard;
|
||||
}
|
||||
|
||||
//底部栏
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
recyclerView=findViewById(R.id.recycler_view);
|
||||
recyclerView.setAdapter(new LiveBuyGuardTopListAdapter(mContext));
|
||||
LiveBuyGuardLinearLayoutManager layoutManager=new LiveBuyGuardLinearLayoutManager(mContext,RecyclerView.HORIZONTAL,false);
|
||||
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener(){
|
||||
buyGuardBanner = findViewById(R.id.buy_guard_banner);
|
||||
bottomPanel = findViewById(R.id.bottom_panel);
|
||||
btnGuard = findViewById(R.id.btn_guard);
|
||||
openTheGuard = findViewById(R.id.open_the_guard);
|
||||
originalPrice = findViewById(R.id.original_price);
|
||||
guardArrow = findViewById(R.id.guard_arrow);
|
||||
guardMonth = findViewById(R.id.guard_month);
|
||||
discountPrice = findViewById(R.id.discount_price);
|
||||
discount = findViewById(R.id.discount);
|
||||
guardPrivilege = findViewById(R.id.guard_privilege);
|
||||
|
||||
originalPrice.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
|
||||
guardPrivilege.setLayoutManager(new GridLayoutManager(getContext(), 4));
|
||||
buyGuardPrivilegeAdapter = new LiveBuyGuardPrivilegeAdapter(guardPrivilegeStrings);
|
||||
guardPrivilege.setAdapter(buyGuardPrivilegeAdapter);
|
||||
int[] gradientColorsStart = {Color.parseColor("#68B4F9"), Color.parseColor("#DCE3F9")};
|
||||
int[] gradientColorsKing = {Color.parseColor("#F5DBD5"), Color.parseColor("#FFF8F1")};
|
||||
int[] gradientColorsGod = {Color.parseColor("#FFC179"), Color.parseColor("#FFF2D7")};
|
||||
int[] openColorsGod = {Color.parseColor("#FFFFFF"), Color.parseColor("#FFFFFF")};
|
||||
LiveNetManager.get(mContext).getGuardOpenInfo(mLiveUid, new HttpCallback<GuardGetGuardOpenInfoModel>() {
|
||||
@Override
|
||||
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
|
||||
super.onScrollStateChanged(recyclerView, newState);
|
||||
public void onSuccess(GuardGetGuardOpenInfoModel data) {
|
||||
guardDataTipModels = data.getGuardData();
|
||||
guardDataTipModels.get(0).setOpen(true);
|
||||
for (GuardDataTipModel guardDataTipModel : guardDataTipModels) {
|
||||
BuyGuardBannerModel guardBannerModel = new BuyGuardBannerModel();
|
||||
guardBannerModel.setGuardianMedal(guardDataTipModel.isOpen() ? guardDataTipModel.getOpenImg() : guardDataTipModel.getCloseImg())
|
||||
.setName(guardDataTipModel.getGuardName())
|
||||
.setLiveAvatar(data.getUserInfo().getLiveAvatar())
|
||||
.setUserAvatar(data.getUserInfo().getUserAvatar())
|
||||
.setOpen(guardDataTipModel.isOpen());
|
||||
if (guardDataTipModel.getGuardType() == 1) {
|
||||
guardBannerModel.setGradientColors(gradientColorsStart)
|
||||
.setGuardOpen(R.mipmap.icon_bg_star_guard_open)
|
||||
.setGuardImage(R.mipmap.bg_star_guard);
|
||||
} else if (guardDataTipModel.getGuardType() == 2) {
|
||||
guardBannerModel.setGuardOpen(R.mipmap.icon_bg_king_guard_open)
|
||||
.setGradientColors(gradientColorsKing)
|
||||
.setGuardImage(R.mipmap.bg_king_guard);
|
||||
} else {
|
||||
guardBannerModel.setGuardOpen(R.mipmap.icon_god_guard_open)
|
||||
.setGradientColors(gradientColorsGod)
|
||||
.setGuardImage(R.mipmap.bg_god_guard);
|
||||
}
|
||||
buyGuardBannerModels.add(guardBannerModel);
|
||||
}
|
||||
buyGuardBanner.setBannerData(R.layout.banner_item_buy_guard, buyGuardBannerModels);
|
||||
buyGuardBanner.setIsClipChildrenMode(true);
|
||||
guardPrivilegeStrings = data.getGuardData().get(0).getGuardPrivilege();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
ItemDecoration decoration = new ItemDecoration(mContext, 0x00000000, 25, 0);
|
||||
decoration.setOnlySetItemOffsetsButNoDraw(true);
|
||||
//recyclerView.addItemDecoration(decoration);
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
PagerSnapHelper snapHelper=new PagerSnapHelper();
|
||||
snapHelper.attachToRecyclerView(recyclerView);
|
||||
|
||||
buyGuardBanner.loadImage(new XBanner.XBannerAdapter() {
|
||||
@Override
|
||||
public void loadBanner(XBanner banner, Object model, View view, int position) {
|
||||
|
||||
BuyGuardBannerModel guardBannerModel = ((BuyGuardBannerModel) model);
|
||||
ImageView bg = view.findViewById(R.id.bg);
|
||||
ImageView guardianMedal = view.findViewById(R.id.guardian_medal);
|
||||
ImageView guardOpen = view.findViewById(R.id.guard_open);
|
||||
GradientTextView godGuard = view.findViewById(R.id.god_guard);
|
||||
RoundedImageView userAvatar = view.findViewById(R.id.user_avatar);
|
||||
RoundedImageView liveAvatar = view.findViewById(R.id.live_avatar);
|
||||
|
||||
godGuard.setGradientColors(guardBannerModel.isOpen() ? openColorsGod : guardBannerModel.getGradientColors());
|
||||
godGuard.setText(guardBannerModel.isOpen() ? WordUtil.getNewString(R.string.have_opened) : WordUtil.getNewString(R.string.not_yet_open));
|
||||
ImgLoader.display(getContext(), guardBannerModel.getGuardImage(), bg);
|
||||
ImgLoader.display(getContext(), guardBannerModel.getGuardianMedal(), guardianMedal);
|
||||
ImgLoader.display(getContext(), guardBannerModel.getGuardOpen(), guardOpen);
|
||||
ImgLoader.display(getContext(), guardBannerModel.getUserAvatar(), userAvatar);
|
||||
ImgLoader.display(getContext(), guardBannerModel.getLiveAvatar(), liveAvatar);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
buyGuardBanner.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int i, float v, int i1) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
BuyGuardBannerModel guardBannerModel = buyGuardBannerModels.get(position);
|
||||
GuardDataTipModel dataTipModel = guardDataTipModels.get(position);
|
||||
price = dataTipModel.getPrice();
|
||||
Log.e("LiveBuyGuardDialog", "name = " + guardBannerModel.getName() + " position=" + position);
|
||||
if (position == 0) {
|
||||
bottomPanel.setBackgroundResource(R.drawable.bg_star_guard_bottom_panel);
|
||||
ImgLoader.display(getContext(), R.mipmap.btn_star_guard, btnGuard);
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_start_guard)
|
||||
: WordUtil.getNewString(R.string.open_the_start_guard));
|
||||
|
||||
} else if (position == 1) {
|
||||
bottomPanel.setBackgroundResource(R.drawable.bg_king_guard_bottom_panel);
|
||||
ImgLoader.display(getContext(), R.mipmap.btn_king_guard, btnGuard);
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_kings_guard)
|
||||
: WordUtil.getNewString(R.string.open_the_kings_guard));
|
||||
} else if (position == 2) {
|
||||
bottomPanel.setBackgroundResource(R.drawable.bg_god_guard_bottom_panel);
|
||||
ImgLoader.display(getContext(), R.mipmap.btn_god_guard, btnGuard);
|
||||
openTheGuard.setText(dataTipModel.isOpen() ? WordUtil.getNewString(R.string.renew_the_god_guard)
|
||||
: WordUtil.getNewString(R.string.open_the_god_guard));
|
||||
}
|
||||
guardPriceModel = price.get(0);
|
||||
if (TextUtils.isEmpty(guardPriceModel.getDiscountPrice())) {
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
originalPrice.setVisibility(GONE);
|
||||
discount.setVisibility(GONE);
|
||||
} else {
|
||||
originalPrice.setVisibility(VISIBLE);
|
||||
discount.setVisibility(VISIBLE);
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
|
||||
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
|
||||
}
|
||||
guardMonth.setText(guardPriceModel.getOpeningTime());
|
||||
guardPrivilegeStrings = dataTipModel.getGuardPrivilege();
|
||||
if (buyGuardPrivilegeAdapter != null){
|
||||
buyGuardPrivilegeAdapter.setGuardPrivilege(guardPrivilegeStrings);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int i) {
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.guard_month_linear), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(guardArrow, "rotation", 0f, -90f);
|
||||
animator.setDuration(500);
|
||||
animator.setInterpolator(new LinearInterpolator());
|
||||
animator.start();
|
||||
XPopup.Builder builder = new XPopup.Builder(getContext()).atView(findViewById(R.id.guard_month_linear));
|
||||
builder.hasShadowBg(false)
|
||||
.isDestroyOnDismiss(true)
|
||||
.isLightStatusBar(false)
|
||||
.popupPosition(PopupPosition.Top)
|
||||
.asCustom(new LiveBuyGuardSelectPopup(getContext(), price)
|
||||
.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog) {
|
||||
closeAnimSudGameListEvent(guardArrow);
|
||||
}
|
||||
}).setBuyGuardSelectListener(new LiveBuyGuardSelectPopup.LiveBuyGuardSelectListener() {
|
||||
@Override
|
||||
public void onLiveBuyGuardSelectListener(GuardPriceModel model) {
|
||||
guardPriceModel = model;
|
||||
if (TextUtils.isEmpty(guardPriceModel.getDiscountPrice())) {
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
originalPrice.setVisibility(GONE);
|
||||
discount.setVisibility(GONE);
|
||||
} else {
|
||||
originalPrice.setVisibility(VISIBLE);
|
||||
discount.setVisibility(VISIBLE);
|
||||
discountPrice.setText(String.valueOf(guardPriceModel.getDiscountPrice()));
|
||||
originalPrice.setText(String.valueOf(guardPriceModel.getOriginalPrice()));
|
||||
discount.setText(String.valueOf(guardPriceModel.getDiscount()));
|
||||
}
|
||||
guardMonth.setText(guardPriceModel.getOpeningTime());
|
||||
}
|
||||
})
|
||||
)
|
||||
.show();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
private void initViewPage(){
|
||||
|
||||
private void closeAnimSudGameListEvent(View view) {
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "rotation", -90f, 0f);
|
||||
animator.setDuration(animDuration);
|
||||
animator.setInterpolator(new LinearInterpolator());
|
||||
animator.start();
|
||||
}
|
||||
|
||||
private void initViewPage() {
|
||||
fragments.add(LiveBuyGuardVPFragment.newInstance(0));
|
||||
fragments.add(LiveBuyGuardVPFragment.newInstance(1));
|
||||
}
|
||||
|
||||
206
live/src/main/java/com/yunbao/live/dialog/LiveGuardDialog.java
Normal file
@@ -0,0 +1,206 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.GuardGetGuardUserInfoModel;
|
||||
import com.yunbao.common.custom.CommonRefreshView;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.NewGuardAdapter;
|
||||
import com.yunbao.live.bean.GuardUserModel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class LiveGuardDialog extends AbsDialogPopupWindow {
|
||||
FragmentActivity activity;
|
||||
boolean isEmpty = true;
|
||||
|
||||
FrameLayout guardianTask;
|
||||
FrameLayout myGraudGrade, guardingTheAnchor;
|
||||
|
||||
NewGuardAdapter newGuardAdapter;
|
||||
|
||||
CommonRefreshView mRefreshView;
|
||||
String mLiveUid;
|
||||
List<GuardUserModel> guardUserModels = new ArrayList<>();
|
||||
|
||||
TextView userNickname, weekContribution, guardLevel;
|
||||
ImageView userSex, tagKing;
|
||||
RoundedImageView guardIcon;
|
||||
SVGAImageView giftSvga;
|
||||
ImageView btnGuardOpen;
|
||||
|
||||
public LiveGuardDialog(@NonNull Context context, boolean isEmpty, String liveUid) {
|
||||
super(context);
|
||||
activity = (FragmentActivity) context;
|
||||
this.isEmpty = isEmpty;
|
||||
mLiveUid = liveUid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildDialog(XPopup.Builder builder) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bindLayoutId() {
|
||||
return R.layout.dialog_live_guard;
|
||||
}
|
||||
|
||||
//底部栏
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
guardianTask = findViewById(R.id.guardian_task);
|
||||
myGraudGrade = findViewById(R.id.my_graud_grade);
|
||||
guardingTheAnchor = findViewById(R.id.guarding_the_anchor);
|
||||
|
||||
mRefreshView = findViewById(R.id.refreshView);
|
||||
mRefreshView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
|
||||
newGuardAdapter = new NewGuardAdapter(mContext);
|
||||
mRefreshView.setRecyclerViewAdapter(newGuardAdapter);
|
||||
mRefreshView.setEmptyLayoutId(R.layout.view_no_data_admin_room);
|
||||
userNickname = findViewById(R.id.user_nickname);
|
||||
weekContribution = findViewById(R.id.week_contribution);
|
||||
guardLevel = findViewById(R.id.guard_level);
|
||||
userSex = findViewById(R.id.sex);
|
||||
tagKing = findViewById(R.id.tag_king);
|
||||
guardIcon = findViewById(R.id.guard_imageView);
|
||||
giftSvga = findViewById(R.id.gift_svga);
|
||||
btnGuardOpen = findViewById(R.id.btn_guard_open);
|
||||
mRefreshView.setDataHelper(new CommonRefreshView.DataHelper<GuardUserModel>() {
|
||||
@Override
|
||||
public RefreshAdapter<GuardUserModel> getAdapter() {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadData(int p, HttpCallback callback) {
|
||||
LiveHttpUtil.getGuardList(mLiveUid, p, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GuardUserModel> processData(String[] info) {
|
||||
List<GuardUserModel> guardUserModelList = JSON.parseArray(Arrays.toString(info), GuardUserModel.class);
|
||||
if (guardUserModels.isEmpty() && !guardUserModelList.isEmpty()) {
|
||||
guardUserModels = guardUserModelList;
|
||||
setAdapterData();
|
||||
}
|
||||
return guardUserModelList;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshSuccess(List<GuardUserModel> list, int listCount) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshFailure() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreSuccess(List<GuardUserModel> loadItemList, int loadItemCount) {
|
||||
if (loadItemList.size() > 0)
|
||||
newGuardAdapter.insertList(loadItemList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreFailure() {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
mRefreshView.initData();
|
||||
if (isEmpty) {
|
||||
|
||||
guardingTheAnchor.setVisibility(VISIBLE);
|
||||
} else {
|
||||
|
||||
guardingTheAnchor.setVisibility(GONE);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_guard_open), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
new LiveBuyGuardDialog(mContext, mLiveUid).showDialog();
|
||||
}
|
||||
});
|
||||
userNickname.setVisibility(GONE);
|
||||
weekContribution.setVisibility(GONE);
|
||||
userSex.setVisibility(GONE);
|
||||
tagKing.setVisibility(GONE);
|
||||
guardLevel.setVisibility(GONE);
|
||||
guardIcon.setVisibility(GONE);
|
||||
giftSvga.setImageResource(R.mipmap.guardian_img_wings);
|
||||
LiveNetManager.get(mContext).getGuardUserInfo(mLiveUid, new com.yunbao.common.http.base.HttpCallback<GuardGetGuardUserInfoModel>() {
|
||||
@Override
|
||||
public void onSuccess(GuardGetGuardUserInfoModel data) {
|
||||
if (data.getGuardType() == 0) {
|
||||
guardianTask.setVisibility(GONE);
|
||||
myGraudGrade.setVisibility(GONE);
|
||||
|
||||
ImgLoader.display(mContext,R.mipmap.btn_guard_open,btnGuardOpen);
|
||||
} else {
|
||||
guardianTask.setVisibility(VISIBLE);
|
||||
myGraudGrade.setVisibility(VISIBLE);
|
||||
ImgLoader.display(mContext,R.mipmap.btn_renewal_guard,btnGuardOpen);//续费守护
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
guardianTask.setVisibility(GONE);
|
||||
myGraudGrade.setVisibility(GONE);
|
||||
ImgLoader.display(mContext,R.mipmap.btn_guard_open,btnGuardOpen);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setAdapterData() {
|
||||
if (guardUserModels.isEmpty()) return;
|
||||
GuardUserModel guardUserModel = guardUserModels.get(0);
|
||||
|
||||
userNickname.setVisibility(VISIBLE);
|
||||
weekContribution.setVisibility(VISIBLE);
|
||||
userSex.setVisibility(VISIBLE);
|
||||
tagKing.setVisibility(VISIBLE);
|
||||
guardLevel.setVisibility(VISIBLE);
|
||||
guardIcon.setVisibility(View.VISIBLE);
|
||||
userNickname.setText(guardUserModel.getUserNicename());
|
||||
weekContribution.setText(WordUtil.getNewString(R.string.this_week_contribution) + " " + guardUserModel.getContribute());
|
||||
userSex.setImageResource(CommonIconUtil.getSexIcon(guardUserModel.getSex()));
|
||||
ImgLoader.display(mContext, guardUserModel.getGuardImg(), tagKing);
|
||||
guardLevel.setText(String.valueOf(guardUserModel.getGuardLevel()));
|
||||
ImgLoader.display(mContext, guardUserModel.getAvatar(), guardIcon);
|
||||
giftSvga.setImageResource(R.mipmap.guardian_img_wings_p);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.yunbao.live.views;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.CommonIconUtil;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.bean.GuardUserModel;
|
||||
|
||||
public class NewGuardViewHolder extends RecyclerView.ViewHolder {
|
||||
ImageView guard_number_img, userSex, tagKing;
|
||||
TextView guard_number_text, user_nicename, guardLevel, contribution;
|
||||
RoundedImageView avatar;
|
||||
|
||||
public NewGuardViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
guard_number_img = itemView.findViewById(R.id.guard_number_img);
|
||||
guard_number_text = itemView.findViewById(R.id.guard_number_text);
|
||||
avatar = itemView.findViewById(R.id.avatar);
|
||||
user_nicename = itemView.findViewById(R.id.user_nicename);
|
||||
userSex = itemView.findViewById(R.id.sex);
|
||||
guardLevel = itemView.findViewById(R.id.guard_level);
|
||||
tagKing = itemView.findViewById(R.id.tag_king);
|
||||
contribution = itemView.findViewById(R.id.contribution);
|
||||
}
|
||||
|
||||
public void setData(GuardUserModel guardUserModel, int position) {
|
||||
if (position == 0) {
|
||||
guard_number_img.setVisibility(View.VISIBLE);
|
||||
guard_number_text.setVisibility(View.GONE);
|
||||
ImgLoader.display(itemView.getContext(), R.mipmap.icon_one_guard, guard_number_img);
|
||||
} else if (position == 1) {
|
||||
guard_number_img.setVisibility(View.VISIBLE);
|
||||
guard_number_text.setVisibility(View.GONE);
|
||||
ImgLoader.display(itemView.getContext(), R.mipmap.icon_two_guard, guard_number_img);
|
||||
} else if (position == 2) {
|
||||
guard_number_img.setVisibility(View.VISIBLE);
|
||||
guard_number_text.setVisibility(View.GONE);
|
||||
ImgLoader.display(itemView.getContext(), R.mipmap.icon_three_guard, guard_number_img);
|
||||
} else {
|
||||
guard_number_img.setVisibility(View.GONE);
|
||||
guard_number_text.setVisibility(View.VISIBLE);
|
||||
guard_number_text.setText(String.valueOf(position + 1));
|
||||
}
|
||||
ImgLoader.display(itemView.getContext(), guardUserModel.getAvatar(), avatar);
|
||||
user_nicename.setText(guardUserModel.getUserNicename());
|
||||
userSex.setImageResource(CommonIconUtil.getSexIcon(guardUserModel.getSex()));
|
||||
guardLevel.setText(String.valueOf(guardUserModel.getGuardLevel()));
|
||||
ImgLoader.display(itemView.getContext(), guardUserModel.getGuardImg(), tagKing);
|
||||
contribution.setText(guardUserModel.getContribute());
|
||||
}
|
||||
}
|
||||
10
live/src/main/res/drawable/background_live_guard.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#100C4C"
|
||||
android:startColor="#0F043D" />
|
||||
<corners
|
||||
android:topLeftRadius="12dp"
|
||||
android:topRightRadius="12dp" />
|
||||
</shape>
|
||||
10
live/src/main/res/drawable/background_live_guard2.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#1D174A"
|
||||
android:startColor="#160C43" />
|
||||
<corners
|
||||
android:topLeftRadius="12dp"
|
||||
android:topRightRadius="12dp" />
|
||||
</shape>
|
||||
8
live/src/main/res/drawable/background_live_guard3.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:startColor="#181F3B"
|
||||
android:endColor="#2B1477" />
|
||||
|
||||
</shape>
|
||||
102
live/src/main/res/layout/banner_item_buy_guard.xml
Normal file
@@ -0,0 +1,102 @@
|
||||
<?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:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="160dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@mipmap/bg_star_guard" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="11dp"
|
||||
android:layout_marginTop="60dp"
|
||||
android:text="@string/be_their_exclusive_guardian"
|
||||
android:textColor="#FAE3B9"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/guardian_medal"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="90dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="3dp"
|
||||
android:src="@mipmap/icon_king_guardian_medal_grey" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="93dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="48dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/guard_open"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_bg_star_guard_open" />
|
||||
|
||||
<com.flyjingfish.gradienttextviewlib.GradientTextView
|
||||
android:id="@+id/god_guard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:letterSpacing="0.1"
|
||||
android:text="@string/not_yet_open"
|
||||
android:textSize="16sp"
|
||||
android:visibility="visible"
|
||||
app:gradient_angle="45"
|
||||
app:gradient_endColor="#FFF2D7"
|
||||
app:gradient_startColor="#FFC179" />
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginBottom="38dp"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/user_avatar"
|
||||
android:layout_width="51dp"
|
||||
android:layout_height="51dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="35dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_male_default"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/live_avatar"
|
||||
android:layout_width="51dp"
|
||||
android:layout_height="51dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_male_default"
|
||||
app:riv_oval="true" />
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="@string/tas_guardian_group"
|
||||
android:textColor="#FDECCB"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
@@ -7,24 +7,188 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@mipmap/dialog_live_buy_guard_bg"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:src="@mipmap/dialog_live_buy_guard_bg" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="170dp"
|
||||
android:layout_marginTop="70dp"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:itemCount="3"
|
||||
tools:listitem="@layout/view_vp_live_buy_guard" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.stx.xhb.androidx.XBanner
|
||||
android:id="@+id/buy_guard_banner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:layout_marginTop="40dp"
|
||||
app:isAutoPlay="false"
|
||||
app:isClipChildrenMode="true"
|
||||
app:isClipChildrenModeLessThree="true"
|
||||
app:isHandLoop="true"
|
||||
app:isShowIndicatorOnlyOne="true"
|
||||
app:isShowNumberIndicator="false"
|
||||
app:showIndicatorInCenter="false" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="21dp"
|
||||
android:text="@string/guardian_privilege"
|
||||
android:textColor="#FAE3B9"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="19dp"
|
||||
android:layout_height="19dp"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:layout_marginEnd="18dp"
|
||||
android:src="@mipmap/icon_guard_rule" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/guard_privilege"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="9dp"
|
||||
android:layout_marginBottom="73dp"
|
||||
android:paddingEnd="9dp"
|
||||
android:overScrollMode="never"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:spanCount="4"
|
||||
tools:itemCount="10"
|
||||
tools:listitem="@layout/view_live_buy_guard_privilege_item" />
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/bottom_panel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="73dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/bg_star_guard_bottom_panel"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="21dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/discount_price"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="520000"
|
||||
android:textColor="#FDECCB"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:src="@mipmap/icon_diamond2" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/original_price"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="564000"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/discount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:text="7.1折"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="195dp"
|
||||
android:layout_height="44dp"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:layout_marginEnd="6dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_guard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/btn_star_guard" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/guard_month_linear"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="0.9"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/guard_month"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/one_month"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/guard_arrow"
|
||||
android:layout_width="15dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="1dp"
|
||||
android:src="@mipmap/icon_right" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/open_the_guard"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@string/open_the_start_guard"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
|
||||
</FrameLayout>
|
||||
213
live/src/main/res/layout/dialog_live_guard.xml
Normal file
@@ -0,0 +1,213 @@
|
||||
<?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="508dp">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="59dp"
|
||||
android:layout_marginBottom="71dp"
|
||||
android:background="@drawable/background_live_guard">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="50dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/user_nickname"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="用戶昵稱"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/sex"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:src="@mipmap/icon_sex_male_1" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="5dp">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tag_king"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/icon_tag_king" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/guard_level"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:gravity="center"
|
||||
android:text="100"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp" />
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/week_contribution"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="本周貢獻值"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/guardian_task"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginTop="21dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/guardian_task"
|
||||
android:textColor="#E8C7F9"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="#E8C7F9" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/my_graud_grade"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="21dp"
|
||||
|
||||
android:layout_marginEnd="15dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/my_graud_grade"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@color/white" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="7dp"
|
||||
android:layout_marginTop="96dp"
|
||||
android:layout_marginEnd="7dp"
|
||||
android:background="@drawable/background_live_guard2">
|
||||
|
||||
|
||||
<com.yunbao.common.custom.CommonRefreshView
|
||||
android:id="@+id/refreshView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/guarding_the_anchor"
|
||||
android:layout_width="240dp"
|
||||
android:layout_height="141dp"
|
||||
android:layout_gravity="center_horizontal|center_vertical"
|
||||
android:background="@mipmap/background_guarding_the_anchor">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:layout_marginBottom="7dp"
|
||||
android:text="@string/no_one_guarding_the_anchor_yet"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="236dp"
|
||||
android:layout_height="110dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginBottom="-102dp"
|
||||
android:scaleType="centerCrop">
|
||||
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/guard_imageView"
|
||||
android:layout_width="58dp"
|
||||
android:layout_height="58dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/guardian_img_wings"
|
||||
android:visibility="visible"
|
||||
app:riv_oval="true" />
|
||||
|
||||
|
||||
<com.opensource.svgaplayer.SVGAImageView
|
||||
android:id="@+id/gift_svga"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/guardian_img_wings"
|
||||
android:visibility="visible"
|
||||
app:autoPlay="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="71dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/background_live_guard3">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="18dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@string/guardian_for_your_favorite_anchor"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_guard_open"
|
||||
android:layout_width="124dp"
|
||||
android:layout_height="42dp"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:background="@mipmap/btn_guard_open" />
|
||||
</FrameLayout>
|
||||
</FrameLayout>
|
||||
124
live/src/main/res/layout/view_new_guard_item.xml
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout 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">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="42dp"
|
||||
android:layout_marginTop="15dp">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/guard_number_img"
|
||||
android:layout_width="19dp"
|
||||
android:layout_height="19dp"
|
||||
android:layout_gravity="center"
|
||||
android:src="@mipmap/icon_one_guard"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/guard_number_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="4"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
</FrameLayout>
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_male_default"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="6dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/user_nicename"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="用戶昵稱"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginBottom="2dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/sex"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:src="@mipmap/icon_sex_male_1" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="6dp">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tag_king"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/icon_tag_king" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/guard_level"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:gravity="center"
|
||||
android:text="100"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/contribution"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contribution"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="contribution"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
BIN
live/src/main/res/mipmap-xhdpi/bg_god_guard.png
Normal file
|
After Width: | Height: | Size: 387 KiB |
BIN
live/src/main/res/mipmap-xhdpi/bg_king_guard.png
Normal file
|
After Width: | Height: | Size: 386 KiB |
|
Before Width: | Height: | Size: 396 KiB After Width: | Height: | Size: 385 KiB |
BIN
live/src/main/res/mipmap-xhdpi/icon_god_guardian_medal.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
live/src/main/res/mipmap-xhdpi/icon_god_guardian_medal_grey.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
live/src/main/res/mipmap-xhdpi/icon_king_guardian_medal.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
live/src/main/res/mipmap-xhdpi/icon_king_guardian_medal_grey.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
live/src/main/res/mipmap-xhdpi/icon_star_guardian_medal.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
live/src/main/res/mipmap-xhdpi/icon_star_guardian_medal_grey.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/btn_guard_open.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/btn_renewal_guard.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/icon_one_guard.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/icon_tag_king.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/icon_three_guard.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
live/src/main/res/mipmap-xxxhdpi/icon_two_guard.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |