6.5.4礼物冠名
This commit is contained in:
@@ -16,7 +16,9 @@ import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
import com.yunbao.common.fragment.GiftAlreadyWallFragment;
|
||||
import com.yunbao.common.event.GiftWallItemEvent;
|
||||
import com.yunbao.common.fragment.AllServiceChampionFragment;
|
||||
import com.yunbao.live.views.GiftAlreadyWallFragment;
|
||||
import com.yunbao.common.fragment.GiftWithoutWallFragment;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
@@ -26,8 +28,8 @@ import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.event.GiftTitleEvent;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.event.LiveGiftDialogEvent;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
@@ -97,6 +99,10 @@ public class GiftWallDialog extends AbsDialogFragment {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
selectTab(textAllServiceChampion, viewAllServiceChampion);
|
||||
|
||||
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
|
||||
transaction.replace(R.id.context_layout_gift, AllServiceChampionFragment.newInstance(mStream, mLiveUid));
|
||||
transaction.commit();
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(attention, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@@ -196,7 +202,14 @@ public class GiftWallDialog extends AbsDialogFragment {
|
||||
* 关于点击礼物分类的通知
|
||||
*/
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onGiftTitleEvent(GiftTitleEvent event) {
|
||||
public void onGiftWallItemEvent(GiftWallItemEvent event) {
|
||||
new XPopup.Builder(getActivity())
|
||||
.asCustom(new GiftWallItemPopup(getActivity(), event.getGiftWallModel(), event.isUnlit(), mLiveUid, mStream))
|
||||
.show();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveGiftDialogEvent(LiveGiftDialogEvent event) {
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
110
live/src/main/java/com/yunbao/live/dialog/GiftWallItemPopup.java
Normal file
110
live/src/main/java/com/yunbao/live/dialog/GiftWallItemPopup.java
Normal file
@@ -0,0 +1,110 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.cardview.widget.CardView;
|
||||
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.GiftWallGiftDetail;
|
||||
import com.yunbao.common.bean.GiftWallModel;
|
||||
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.Bus;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.event.LiveGiftDialogEvent;
|
||||
|
||||
public class GiftWallItemPopup extends CenterPopupView {
|
||||
private CardView layout;
|
||||
private ImageView giftImg, avatar;
|
||||
private TextView price, giftDetailsBtn, distanceNaming, vacantPositionAwaits, giftDetails, vacantPosition;
|
||||
private GiftWallModel giftWallModel;
|
||||
private boolean unlit;
|
||||
private String mLiveUid, mStream;
|
||||
|
||||
public GiftWallItemPopup(@NonNull Context context, GiftWallModel giftWallModel,
|
||||
boolean unlit, String mLiveUid, String mStream) {
|
||||
super(context);
|
||||
this.giftWallModel = giftWallModel;
|
||||
this.unlit = unlit;
|
||||
this.mLiveUid = mLiveUid;
|
||||
this.mStream = mStream;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getImplLayoutId() {
|
||||
return R.layout.popup_gift_wall_item;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
layout = findViewById(R.id.layout);
|
||||
giftImg = findViewById(R.id.gift_img);
|
||||
price = findViewById(R.id.price);
|
||||
giftDetails = findViewById(R.id.gift_details);
|
||||
giftDetailsBtn = findViewById(R.id.gift_details_btn);
|
||||
distanceNaming = findViewById(R.id.distance_naming);
|
||||
vacantPositionAwaits = findViewById(R.id.vacant_position_awaits);
|
||||
vacantPosition = findViewById(R.id.vacant_position);
|
||||
avatar = findViewById(R.id.avatar);
|
||||
if (unlit) {
|
||||
giftDetailsBtn.setText(getContext().getText(R.string.send_hem));
|
||||
} else {
|
||||
giftDetailsBtn.setText(getContext().getText(R.string.instant_light));
|
||||
}
|
||||
ImgLoader.display(getContext(), giftWallModel.getGifticon(), giftImg);
|
||||
giftDetails.setText(giftWallModel.getGiftname());
|
||||
price.setText(giftWallModel.getNeedcoin());
|
||||
loadData();
|
||||
ViewClicksAntiShake.clicksAntiShake(giftDetailsBtn, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.GIFT_POPUP)
|
||||
.setmLiveUid(mLiveUid)
|
||||
.setmStream(mStream)
|
||||
.setmWishGiftId(giftWallModel.getId()));
|
||||
Bus.get().post(new LiveGiftDialogEvent());
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void loadData() {
|
||||
LiveNetManager.get(getContext()).
|
||||
giftDetail(mLiveUid, String.valueOf(giftDetails.getId()), new HttpCallback<GiftWallGiftDetail>() {
|
||||
@Override
|
||||
public void onSuccess(GiftWallGiftDetail data) {
|
||||
if (data.getUid() == 0) {
|
||||
ImgLoader.display(getContext(), R.mipmap.icon_vacant_position_awaits, avatar);
|
||||
vacantPositionAwaits.setText(getContext().getText(R.string.vacant_position_awaits));
|
||||
vacantPosition.setText("?");
|
||||
} else {
|
||||
ImgLoader.display(getContext(), data.getAvatar(), avatar);
|
||||
vacantPositionAwaits.setText(data.getUserNicename());
|
||||
vacantPosition.setText(giftWallModel.getGiftname());
|
||||
}
|
||||
if (data.getNamingCoin() == 0) {
|
||||
distanceNaming.setVisibility(GONE);
|
||||
} else {
|
||||
distanceNaming.setVisibility(VISIBLE);
|
||||
distanceNaming.setText(String.format(getContext().getString(R.string.distance_naming), String.valueOf(data.getNamingCoin())));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -2,17 +2,24 @@ package com.yunbao.live.dialog;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.impl.FullScreenPopupView;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.utils.LinearGradientFontSpan;
|
||||
|
||||
/**
|
||||
* 礼物冠名规则
|
||||
*/
|
||||
public class RegularIntroducePopup extends FullScreenPopupView {
|
||||
private TextView regularTitle;
|
||||
|
||||
public RegularIntroducePopup(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
@@ -25,6 +32,13 @@ public class RegularIntroducePopup extends FullScreenPopupView {
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
regularTitle = findViewById(R.id.regular_title);
|
||||
String title = getContext().getString(R.string.rule_introduction);
|
||||
SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
builder.append(title);
|
||||
builder.setSpan(new LinearGradientFontSpan(Color.parseColor("#ffffff"),
|
||||
Color.parseColor("#F7FDFF")), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
regularTitle.setText(builder);
|
||||
//初始化
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.close_btn), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.yunbao.live.views;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.adapter.GiftAlreadyWallAdapter;
|
||||
import com.yunbao.common.bean.GiftAlreadyWallModel;
|
||||
import com.yunbao.common.fragment.BaseFragment;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.event.LiveGiftDialogEvent;
|
||||
|
||||
/**
|
||||
* 已点亮礼物墙
|
||||
*/
|
||||
public class GiftAlreadyWallFragment extends BaseFragment {
|
||||
private String mStream, mLiveUid;
|
||||
private LinearLayout giftWallNoData, giftWallData;
|
||||
private RecyclerView alreadyList;
|
||||
private GiftAlreadyWallAdapter alreadyWallAdapter;
|
||||
private TextView litIcon, giftAll;
|
||||
|
||||
@Override
|
||||
public View createView(LayoutInflater layoutInflater, ViewGroup viewGroup) {
|
||||
return layoutInflater.inflate(R.layout.fragment_gift_already_wall, viewGroup, false);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void initVariables(Bundle bundle) {
|
||||
mStream = bundle.getString("mStream");
|
||||
mLiveUid = bundle.getString("mLiveUid");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews(Bundle savedInstanceState, View contentView) {
|
||||
giftWallNoData = contentView.findViewById(R.id.gift_wall_no_data);
|
||||
giftWallData = contentView.findViewById(R.id.gift_wall_data);
|
||||
alreadyList = contentView.findViewById(R.id.already_list);
|
||||
litIcon = contentView.findViewById(R.id.lit_icon);
|
||||
giftAll = contentView.findViewById(R.id.gift_all);
|
||||
alreadyWallAdapter = new GiftAlreadyWallAdapter();
|
||||
alreadyList.setLayoutManager(new GridLayoutManager(getContext(), 3, GridLayoutManager.VERTICAL, false));
|
||||
alreadyList.setAdapter(alreadyWallAdapter);
|
||||
ViewClicksAntiShake.clicksAntiShake(contentView.findViewById(R.id.instant_light), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.GIFT_POPUP)
|
||||
.setmLiveUid(mLiveUid)
|
||||
.setmStream(mStream));
|
||||
Bus.get().post(new LiveGiftDialogEvent());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadData() {
|
||||
LiveNetManager.get(getActivity()).
|
||||
giftAlreadyWall(mLiveUid, new HttpCallback<GiftAlreadyWallModel>() {
|
||||
@Override
|
||||
public void onSuccess(GiftAlreadyWallModel data) {
|
||||
if (data.getGiftWall().size() > 0) {
|
||||
giftWallNoData.setVisibility(View.GONE);
|
||||
giftWallData.setVisibility(View.VISIBLE);
|
||||
alreadyWallAdapter.addAllData(data.getGiftWall());
|
||||
litIcon.setText(data.getGiftWallLightenNumber());
|
||||
giftAll.setText("/" + data.getGiftWallLightenTotal());
|
||||
} else {
|
||||
giftWallNoData.setVisibility(View.VISIBLE);
|
||||
giftWallData.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static GiftAlreadyWallFragment newInstance(String mStream, String mLiveUid) {
|
||||
GiftAlreadyWallFragment liveGiftFragment = new GiftAlreadyWallFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("mStream", mStream);
|
||||
bundle.putString("mLiveUid", mLiveUid);
|
||||
liveGiftFragment.setArguments(bundle);
|
||||
return liveGiftFragment;
|
||||
}
|
||||
}
|
||||
@@ -173,18 +173,22 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:text="@string/gift_wall_entrance8_10"
|
||||
android:textColor="#7480FF"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:textSize="13sp" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/regular_title"
|
||||
android:layout_width="142dp"
|
||||
android:layout_height="42dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="28dp"
|
||||
android:background="@mipmap/background_regular_title" />
|
||||
android:background="@mipmap/background_regular_title"
|
||||
android:gravity="center"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
</FrameLayout>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 28 KiB |
Reference in New Issue
Block a user