6.5.4礼物冠名
This commit is contained in:
@@ -0,0 +1,190 @@
|
||||
package com.yunbao.live.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.event.GiftWallItemEvent;
|
||||
import com.yunbao.common.event.LiveGiftDialogEvent;
|
||||
import com.yunbao.common.fragment.AllServiceChampionFragment;
|
||||
import com.yunbao.common.fragment.GiftWithoutWallFragment;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.R;
|
||||
import com.yunbao.live.dialog.CodexDialog;
|
||||
import com.yunbao.live.dialog.GiftWallItemPopup;
|
||||
import com.yunbao.live.dialog.RegularIntroducePopup;
|
||||
import com.yunbao.live.event.LiveAudienceEvent;
|
||||
import com.yunbao.live.views.GiftAlreadyWallFragment;
|
||||
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@Route(path = RouteUtil.PATH_GIFT_WALL)
|
||||
public class GiftWallActivity extends AbsActivity {
|
||||
private LinearLayout layoutLitIcon, layoutUnlitIcon, layoutAllServiceChampion;
|
||||
private TextView textLitIcon, textUnlitIcon, textAllServiceChampion, anchorName;
|
||||
private View viewAllServiceChampion, viewUnlitIcon, viewLitIcon, attention;
|
||||
private RoundedImageView avatar;
|
||||
private List<TextView> tabText = new ArrayList<>();
|
||||
private List<View> tabView = new ArrayList<>();
|
||||
private String mStream, mAnchorName, mLiveUid, mAvatarUrl;
|
||||
private int isAttention = 0;//是否关注 0=没关注,
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_live_gift_wall;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
Bus.getOn(this);
|
||||
initView();
|
||||
initDate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
Bus.getOff(this);
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
layoutLitIcon = findViewById(R.id.layout_lit_icon);
|
||||
layoutUnlitIcon = findViewById(R.id.layout_unlit_icon);
|
||||
layoutAllServiceChampion = findViewById(R.id.layout_all_service_champion);
|
||||
textLitIcon = findViewById(R.id.text_lit_icon);
|
||||
textUnlitIcon = findViewById(R.id.text_unlit_icon);
|
||||
textAllServiceChampion = findViewById(R.id.text_all_service_champion);
|
||||
viewAllServiceChampion = findViewById(R.id.view_all_service_champion);
|
||||
viewUnlitIcon = findViewById(R.id.view_unlit_icon);
|
||||
viewLitIcon = findViewById(R.id.view_lit_icon);
|
||||
avatar = findViewById(R.id.avatar);
|
||||
attention = findViewById(R.id.attention);
|
||||
anchorName = findViewById(R.id.anchor_name);
|
||||
tabText.add(textLitIcon);
|
||||
tabText.add(textUnlitIcon);
|
||||
tabText.add(textAllServiceChampion);
|
||||
tabView.add(viewLitIcon);
|
||||
tabView.add(viewUnlitIcon);
|
||||
tabView.add(viewAllServiceChampion);
|
||||
selectTab(textLitIcon, viewLitIcon);
|
||||
ViewClicksAntiShake.clicksAntiShake(layoutLitIcon, () -> {
|
||||
selectTab(textLitIcon, viewLitIcon);
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
transaction.replace(R.id.context_layout_gift, GiftAlreadyWallFragment.newInstance(mStream, mLiveUid));
|
||||
transaction.commit();
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(layoutUnlitIcon, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
selectTab(textUnlitIcon, viewUnlitIcon);
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
transaction.replace(R.id.context_layout_gift, GiftWithoutWallFragment.newInstance(mStream, mLiveUid));
|
||||
transaction.commit();
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(layoutAllServiceChampion, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
selectTab(textAllServiceChampion, viewAllServiceChampion);
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
transaction.replace(R.id.context_layout_gift, AllServiceChampionFragment.newInstance(mStream, mLiveUid));
|
||||
transaction.commit();
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(attention, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
CommonHttpUtil.setAttention(mLiveUid, new CommonCallback<Integer>() {
|
||||
@Override
|
||||
public void callback(Integer isAttention) {
|
||||
if (isAttention == 1) {
|
||||
LiveActivity.sendSystemMessage(IMLoginManager.get(GiftWallActivity.this).getUserInfo().getUserNicename()
|
||||
+ getString(R.string.live_follow_anchor));
|
||||
attention.setVisibility(View.GONE);
|
||||
Bus.get().post(new LiveAudienceEvent()
|
||||
.setType(LiveAudienceEvent.LiveAudienceType.IS_ATTENTION).setLiveType(isAttention));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.codex_layout), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
new XPopup.Builder(GiftWallActivity.this)
|
||||
.enableDrag(false)
|
||||
.asCustom(new CodexDialog(GiftWallActivity.this, mStream, mLiveUid, false))
|
||||
.show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initDate() {
|
||||
Intent intent = getIntent();
|
||||
if (intent == null) {
|
||||
return;
|
||||
}
|
||||
mLiveUid = intent.getStringExtra(Constants.LIVE_UID);
|
||||
mStream = intent.getStringExtra(Constants.STREAM);
|
||||
mAnchorName = intent.getStringExtra("mAnchorName");
|
||||
mAvatarUrl = intent.getStringExtra("mAvatarUrl");
|
||||
isAttention = intent.getIntExtra("isAttention", 0);
|
||||
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
transaction.replace(R.id.context_layout_gift, GiftAlreadyWallFragment.newInstance(mStream, mLiveUid));
|
||||
transaction.commit();
|
||||
ImgLoader.display(GiftWallActivity.this, mAvatarUrl, avatar);
|
||||
anchorName.setText(mAnchorName);
|
||||
attention.setVisibility(isAttention == 0 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void selectTab(TextView textView, View tab) {
|
||||
for (TextView view : tabText) {
|
||||
if (textView == view) {
|
||||
view.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC);
|
||||
} else {
|
||||
view.setTypeface(Typeface.SANS_SERIF, Typeface.ITALIC);
|
||||
}
|
||||
}
|
||||
for (View view : tabView) {
|
||||
view.setVisibility(view == tab ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关于点击礼物分类的通知
|
||||
*/
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onGiftWallItemEvent(GiftWallItemEvent event) {
|
||||
new XPopup.Builder(this)
|
||||
.asCustom(new GiftWallItemPopup(this, event.getGiftWallModel(), event.isUnlit(), mLiveUid, mStream))
|
||||
.show();
|
||||
}
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLiveGiftDialogEvent(LiveGiftDialogEvent event) {
|
||||
onBackPressed();
|
||||
}
|
||||
}
|
||||
@@ -2668,6 +2668,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
bundle.putInt("isAttention", isAttention);
|
||||
giftWallDialog.setArguments(bundle);
|
||||
giftWallDialog.show(((AbsActivity) mContext).getSupportFragmentManager(), "GiftWallDialog");
|
||||
// RouteUtil.forwardGiftWallActivity(mStream,mAnchorName,mLiveUid,mAvatarUrl,isAttention);
|
||||
}
|
||||
|
||||
public boolean pkHandler = true;
|
||||
|
||||
Reference in New Issue
Block a user