update 礼物墙 布局
This commit is contained in:
@@ -114,6 +114,15 @@ public class GiftWallMainTab1List2Adapter extends RecyclerView.Adapter<GiftWallM
|
||||
this.isLiveRoom = isLiveRoom;
|
||||
}
|
||||
|
||||
public void addList(List<GiftWallBean.Gift> gifts) {
|
||||
if (list == null) {
|
||||
list = new ArrayList<>();
|
||||
}
|
||||
int index=list.size()-1;
|
||||
list.addAll(gifts);
|
||||
notifyItemRangeChanged(index, gifts.size());
|
||||
}
|
||||
|
||||
public class VH extends RecyclerView.ViewHolder {
|
||||
SVGAImageView giftBg;
|
||||
ImageView gift_soles;
|
||||
@@ -135,7 +144,7 @@ public class GiftWallMainTab1List2Adapter extends RecyclerView.Adapter<GiftWallM
|
||||
@SuppressLint("DefaultLocale")
|
||||
public void setData(GiftWallBean.Gift gift, int position) {
|
||||
gift_name.setText(WordUtil.isNewZh() ? gift.getGift_name() : gift.getGift_name_en());
|
||||
//ImgLoader.display(itemView.getContext(), gift.getGift_icon(), giftImage, 40, 40);
|
||||
ImgLoader.display(itemView.getContext(), gift.getGift_icon(), giftImage, 40, 40);
|
||||
giftBg.setClearsAfterDetached(false);
|
||||
giftBg.setClearsAfterStop(false);
|
||||
if (gift.getIlluminate_status() == 1) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.yunbao.common.adapter;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -11,8 +12,17 @@ import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.RequestBuilder;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.DecodeFormat;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.opensource.svgaplayer.SVGADrawable;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
@@ -20,9 +30,13 @@ import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.GiftWallBean;
|
||||
import com.yunbao.common.bean.GiftWallTab2Bean;
|
||||
import com.yunbao.common.bean.JsWishBean;
|
||||
import com.yunbao.common.dialog.GiftWallGiftInfoDialog;
|
||||
import com.yunbao.common.dialog.GiftWallMainTab2ClassicInfoDialog;
|
||||
import com.yunbao.common.dialog.GiftWallTab2List2Dialog;
|
||||
import com.yunbao.common.event.ClosePopupDialogEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
@@ -65,6 +79,15 @@ public class GiftWallMainTab2ListAdapter extends RecyclerView.Adapter<GiftWallMa
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void addList(List<GiftWallTab2Bean.Gift> gifts) {
|
||||
if (list == null) {
|
||||
list = new ArrayList<>();
|
||||
}
|
||||
int index = list.size() - 1;
|
||||
list.addAll(gifts);
|
||||
notifyItemRangeChanged(index, gifts.size());
|
||||
}
|
||||
|
||||
|
||||
public void setStar(boolean star) {
|
||||
isStar = star;
|
||||
@@ -105,6 +128,11 @@ public class GiftWallMainTab2ListAdapter extends RecyclerView.Adapter<GiftWallMa
|
||||
this.isLiveRoom = isLiveRoom;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
list.clear();
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public class VH extends RecyclerView.ViewHolder {
|
||||
ImageView gift;
|
||||
TextView gift_name;
|
||||
@@ -132,7 +160,7 @@ public class GiftWallMainTab2ListAdapter extends RecyclerView.Adapter<GiftWallMa
|
||||
@SuppressLint("DefaultLocale")
|
||||
public void setData(GiftWallTab2Bean.Gift giftData, int position) {
|
||||
gift_name.setText(WordUtil.isNewZh() ? giftData.getGiftName() : giftData.getGiftNameEn());
|
||||
// ImgLoader.display(itemView.getContext(), giftData.getGiftIcon(), gift, 60, 60);
|
||||
display(itemView.getContext(), giftData.getGiftIcon(), gift, 60, 60);
|
||||
if (!StringUtil.isEmpty(giftData.getNamingLiveNicename(), giftData.getNamingUserNicename())) {
|
||||
anchor_nickname.setVisibility(View.VISIBLE);
|
||||
user_nickname.setVisibility(View.VISIBLE);
|
||||
@@ -142,21 +170,10 @@ public class GiftWallMainTab2ListAdapter extends RecyclerView.Adapter<GiftWallMa
|
||||
imageView8.setVisibility(View.VISIBLE);
|
||||
tv_wait.setVisibility(View.GONE);
|
||||
gift_number.setText(String.format(Locale.getDefault(), "%d", giftData.getNeedCoinTotal()));
|
||||
//ImgLoader.display(mContext, giftData.getNamingLiveAvatar(), user1Avatar, 35, 35);
|
||||
// ImgLoader.display(mContext, giftData.getNamingUserAvatar(), user2Avatar, 35, 35);
|
||||
display(mContext, giftData.getNamingLiveAvatar(), user1Avatar, 35, 35);
|
||||
display(mContext, giftData.getNamingUserAvatar(), user2Avatar, 35, 35);
|
||||
anchor_nickname.setText(giftData.getNamingLiveNicename());
|
||||
user_nickname.setText(giftData.getNamingUserNicename());
|
||||
ViewClicksAntiShake.clicksAntiShake(itemView, () -> {
|
||||
if (isNowRank) {
|
||||
new GiftWallGiftInfoDialog(mContext, giftData.getGiftId() + "", toUid, isAnchor)
|
||||
.setFullWindows(!isLiveRoom)
|
||||
.setLiveRoom(isLiveRoom)
|
||||
.setStar(isStar)
|
||||
.showDialog();
|
||||
} else {
|
||||
new GiftWallMainTab2ClassicInfoDialog(mContext, giftData, isAnchor).setFullWindows(!isLiveRoom).showDialog();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
user1Avatar.setVisibility(View.GONE);
|
||||
user2Avatar.setVisibility(View.GONE);
|
||||
@@ -167,6 +184,58 @@ public class GiftWallMainTab2ListAdapter extends RecyclerView.Adapter<GiftWallMa
|
||||
tv_wait.setVisibility(View.VISIBLE);
|
||||
itemView.setOnClickListener(null);
|
||||
}
|
||||
ViewClicksAntiShake.clicksAntiShake(itemView, () -> {
|
||||
if (isStar) {
|
||||
if (isNowRank) {
|
||||
if (StringUtil.isEmpty(giftData.getNamingLiveNicename(), giftData.getNamingUserNicename())&&isLiveRoom) {
|
||||
Bus.get().post(new JsWishBean(giftData.getGiftId() + ""));
|
||||
Bus.get().post(new ClosePopupDialogEvent());
|
||||
} else {
|
||||
new GiftWallGiftInfoDialog(mContext, giftData.getGiftId() + "", toUid, isAnchor)
|
||||
.setFullWindows(!isLiveRoom)
|
||||
.setLiveRoom(isLiveRoom)
|
||||
.setStar(isStar)
|
||||
.showDialog();
|
||||
}
|
||||
} else {
|
||||
new GiftWallMainTab2ClassicInfoDialog(mContext, giftData, isAnchor).setFullWindows(!isLiveRoom).showDialog();
|
||||
}
|
||||
} else {
|
||||
new GiftWallTab2List2Dialog(mContext).setGift(giftData).showDialog();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void display(Context context, String url, ImageView imageView, int width, int height) {
|
||||
imageView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
RequestBuilder<Drawable> builder = Glide.with(context)
|
||||
.load(url);
|
||||
|
||||
if (width != -1 && height != -1) {
|
||||
builder = builder.override(width, height);
|
||||
}
|
||||
builder
|
||||
.thumbnail(1.0f)
|
||||
.format(DecodeFormat.PREFER_RGB_565)
|
||||
.skipMemoryCache(true)
|
||||
.addListener(new RequestListener<Drawable>() {
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
|
||||
imageView.setImageDrawable(null);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||
.into(imageView);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,13 +39,12 @@ public class GiftWallTab2GiftInfoListItemAdapter extends RecyclerView.Adapter<Gi
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull VH holder, int position) {
|
||||
// holder.setData(data.get(position), position);
|
||||
holder.setData(data.get(position), position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
// return data.size();
|
||||
return 20;
|
||||
return data.size();
|
||||
}
|
||||
|
||||
public class VH extends RecyclerView.ViewHolder {
|
||||
|
||||
@@ -173,17 +173,6 @@ public class GiftWallMainTab2ClassicInfoDialog extends AbsDialogPopupWindow {
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
initView();
|
||||
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) mIvBack.getLayoutParams();
|
||||
if (isFullWindows) {
|
||||
params.width = DpUtil.dp2px(20);
|
||||
mIvBack.setVisibility(View.VISIBLE);
|
||||
mIvBg.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
||||
} else {
|
||||
params.width = DpUtil.dp2px(1);
|
||||
mIvBack.setVisibility(View.INVISIBLE);
|
||||
mIvBg.setScaleType(ImageView.ScaleType.FIT_XY);
|
||||
}
|
||||
mIvBack.setLayoutParams(params);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.yunbao.common.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.GiftWallTab2Bean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class GiftWallTab2List2Dialog extends AbsDialogCenterPopupWindow {
|
||||
RoundedImageView user1Avatar, user2Avatar;
|
||||
TextView user1Name, user2Name;
|
||||
ImageView giftImage;
|
||||
TextView giftName;
|
||||
TextView titleValue;
|
||||
|
||||
GiftWallTab2Bean.Gift gift;
|
||||
|
||||
public GiftWallTab2List2Dialog(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public GiftWallTab2List2Dialog setGift(GiftWallTab2Bean.Gift gift) {
|
||||
this.gift = gift;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildDialog(XPopup.Builder builder) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bindLayoutId() {
|
||||
return R.layout.dialog_gift_wall_tab2_list2;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
user1Avatar = findViewById(R.id.user1_avatar);
|
||||
user2Avatar = findViewById(R.id.user2_avatar);
|
||||
user1Name = findViewById(R.id.user1_name);
|
||||
user2Name = findViewById(R.id.user2_name);
|
||||
giftImage = findViewById(R.id.gift);
|
||||
titleValue = findViewById(R.id.title_value);
|
||||
giftName = findViewById(R.id.gift_name);
|
||||
|
||||
ImgLoader.display(mContext, gift.getGiftIcon(), giftImage);
|
||||
ImgLoader.display(mContext, gift.getNamingUserAvatar(), user1Avatar);
|
||||
ImgLoader.display(mContext, gift.getNamingLiveAvatar(), user2Avatar);
|
||||
user1Name.setText(gift.getNamingUserNicename());
|
||||
user2Name.setText(gift.getNamingLiveNicename());
|
||||
giftName.setText(WordUtil.isNewZh() ? gift.getGiftName() : gift.getGiftNameEn());
|
||||
titleValue.setText(String.format(Locale.getDefault(), "%s", gift.getNeedCoinTotal()));
|
||||
}
|
||||
}
|
||||
@@ -204,6 +204,8 @@ public class GiftWallMainTab2Fragment extends BaseFragment {
|
||||
}
|
||||
|
||||
void initData() {
|
||||
list1Adapter.clear();
|
||||
list2Adapter.clear();
|
||||
LiveNetManager.get(getContext())
|
||||
.allGiftHall(String.valueOf(type), new HttpCallback<GiftWallTab2Bean>() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user