feat:完成房间团队PK-UI改版
@@ -1,297 +0,0 @@
|
||||
package com.chwl.app.avroom.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.common.widget.CircleImageView;
|
||||
import com.chwl.app.ui.widget.dialog.BaseDialog;
|
||||
import com.chwl.app.ui.widget.dialog.CommonTipDialog;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.core.manager.IMNetEaseManager;
|
||||
import com.chwl.core.manager.RoomEvent;
|
||||
import com.chwl.core.room.pk.bean.PKMemberInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamMember;
|
||||
import com.chwl.core.room.pk.bean.RoomPkData;
|
||||
import com.chwl.core.room.pk.event.PKDataUpdateEvent;
|
||||
import com.chwl.core.room.pk.event.PKTimeFinishEvent;
|
||||
import com.chwl.core.room.pk.event.PKTimeTickEvent;
|
||||
import com.chwl.core.room.pk.model.PkModel;
|
||||
import com.chwl.core.super_admin.util.SuperAdminUtil;
|
||||
import com.chwl.library.utils.FormatUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
/**
|
||||
* @author jack
|
||||
* @Description
|
||||
* @Date 2019/1/3
|
||||
*/
|
||||
public class PKScoreBoardDialog extends BaseDialog {
|
||||
|
||||
|
||||
private TextView tvPkVoteMode;
|
||||
private View tvClose;
|
||||
private ProgressBar pbScore;
|
||||
private TextView tvRedTeamScore;
|
||||
private TextView tvBlueTeamScore;
|
||||
private TextView tvPkTimer;
|
||||
private CircleImageView ivRedAvatar1;
|
||||
private CircleImageView ivRedAvatar2;
|
||||
private CircleImageView ivRedAvatar3;
|
||||
private CircleImageView ivRedAvatar4;
|
||||
private CircleImageView ivBlueAvatar1;
|
||||
private CircleImageView ivBlueAvatar2;
|
||||
private CircleImageView ivBlueAvatar3;
|
||||
private CircleImageView ivBlueAvatar4;
|
||||
private TextView tvRestart;
|
||||
|
||||
private final List<CircleImageView> redTeamAvatars = new ArrayList<>();
|
||||
|
||||
private final List<CircleImageView> blueTeamAvatars = new ArrayList<>();
|
||||
|
||||
private RoomPkData roomPkData;
|
||||
|
||||
private CompositeDisposable compositeDisposable;
|
||||
|
||||
public PKScoreBoardDialog(Context context) {
|
||||
super(context, R.style.easy_dialog_style);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setCanceledOnTouchOutside(true);
|
||||
setContentView(R.layout.dialog_pk_score_board);
|
||||
|
||||
tvPkVoteMode = (TextView) findViewById(R.id.tv_pk_vote_mode);
|
||||
tvClose = findViewById(R.id.tv_close);
|
||||
pbScore = (ProgressBar) findViewById(R.id.pb_score);
|
||||
tvRedTeamScore = (TextView) findViewById(R.id.tv_red_team_score);
|
||||
tvBlueTeamScore = (TextView) findViewById(R.id.tv_blue_team_score);
|
||||
tvPkTimer = (TextView) findViewById(R.id.tv_pk_timer);
|
||||
tvRestart = (TextView) findViewById(R.id.tv_restart);
|
||||
|
||||
ivRedAvatar1 = (CircleImageView) findViewById(R.id.iv_red_avatar_1);
|
||||
ivRedAvatar2 = (CircleImageView) findViewById(R.id.iv_red_avatar_2);
|
||||
ivRedAvatar3 = (CircleImageView) findViewById(R.id.iv_red_avatar_3);
|
||||
ivRedAvatar4 = (CircleImageView) findViewById(R.id.iv_red_avatar_4);
|
||||
|
||||
ivBlueAvatar1 = (CircleImageView) findViewById(R.id.iv_blue_avatar_1);
|
||||
ivBlueAvatar2 = (CircleImageView) findViewById(R.id.iv_blue_avatar_2);
|
||||
ivBlueAvatar3 = (CircleImageView) findViewById(R.id.iv_blue_avatar_3);
|
||||
ivBlueAvatar4 = (CircleImageView) findViewById(R.id.iv_blue_avatar_4);
|
||||
|
||||
redTeamAvatars.add(ivRedAvatar1);
|
||||
redTeamAvatars.add(ivRedAvatar2);
|
||||
redTeamAvatars.add(ivRedAvatar3);
|
||||
redTeamAvatars.add(ivRedAvatar4);
|
||||
|
||||
blueTeamAvatars.add(ivBlueAvatar1);
|
||||
blueTeamAvatars.add(ivBlueAvatar2);
|
||||
blueTeamAvatars.add(ivBlueAvatar3);
|
||||
blueTeamAvatars.add(ivBlueAvatar4);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
tvClose.setOnClickListener(v -> dismiss());
|
||||
roomPkData = PkModel.get().getCurPkInfo();
|
||||
if (roomPkData == null) {
|
||||
return;
|
||||
}
|
||||
if (roomPkData.getVoteMode() == RoomPkData.VOTE_MODE_GIFT) {
|
||||
tvPkVoteMode.setText(getContext().getResources().getString(R.string.vote_type_gift_value));
|
||||
} else if (roomPkData.getVoteMode() == RoomPkData.VOTE_MODE_PERSON) {
|
||||
tvPkVoteMode.setText(getContext().getResources().getString(R.string.vote_type_gift_member));
|
||||
}
|
||||
|
||||
PKTeamInfo redTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
for (int i = 0; i < redTeamAvatars.size(); i++) {
|
||||
if (i < redTeam.getTeamMembers().size()) {
|
||||
redTeamAvatars.get(i).setVisibility(View.VISIBLE);
|
||||
PKTeamMember pkTeamMember = redTeam.getTeamMembers().get(i);
|
||||
PKMemberInfo pkMemberInfo = findPKMemberInfo(pkTeamMember.getUid());
|
||||
if (pkMemberInfo == null || pkMemberInfo.getUserInfo() == null) {
|
||||
continue;
|
||||
}
|
||||
GlideApp.with(redTeamAvatars.get(i))
|
||||
.load(pkMemberInfo.getUserInfo().getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(redTeamAvatars.get(i));
|
||||
} else {
|
||||
redTeamAvatars.get(i).setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
PKTeamInfo blueTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE);
|
||||
for (int i = 0; i < blueTeamAvatars.size(); i++) {
|
||||
if (i < blueTeam.getTeamMembers().size()) {
|
||||
blueTeamAvatars.get(i).setVisibility(View.VISIBLE);
|
||||
PKTeamMember pkTeamMember = blueTeam.getTeamMembers().get(i);
|
||||
PKMemberInfo pkMemberInfo = findPKMemberInfo(pkTeamMember.getUid());
|
||||
if (pkMemberInfo == null || pkMemberInfo.getUserInfo() == null) {
|
||||
continue;
|
||||
}
|
||||
GlideApp.with(blueTeamAvatars.get(i))
|
||||
.load(pkMemberInfo.getUserInfo().getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(blueTeamAvatars.get(i));
|
||||
|
||||
} else {
|
||||
blueTeamAvatars.get(i).setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
if (AvRoomDataManager.get().isManager() && !SuperAdminUtil.isSuperAdmin()) {
|
||||
tvRestart.setVisibility(View.VISIBLE);
|
||||
tvRestart.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (PkModel.get().getCurPkInfo() == null) {
|
||||
toast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_01));
|
||||
dismiss();
|
||||
return;
|
||||
}
|
||||
if (PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
toast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_02));
|
||||
dismiss();
|
||||
return;
|
||||
}
|
||||
CommonTipDialog tipDialog = new CommonTipDialog(getContext());
|
||||
tipDialog.setTipMsg(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_03) +
|
||||
ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_04));
|
||||
tipDialog.setOnActionListener(
|
||||
new CommonTipDialog.OnActionListener() {
|
||||
@Override
|
||||
public void onOk() {
|
||||
PkModel.get().toPKAgain().subscribe(new SingleObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
compositeDisposable.add(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(String s) {
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
toast(e.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
tipDialog.show();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
tvRestart.setVisibility(View.GONE);
|
||||
tvRestart.setOnClickListener(null);
|
||||
}
|
||||
updateTime();
|
||||
onPKDataUpdateEvent(null);
|
||||
}
|
||||
|
||||
private PKMemberInfo findPKMemberInfo(String account) {
|
||||
for (PKMemberInfo pkMemberInfo : PkModel.get().getPkMemberInfoList()) {
|
||||
if (String.valueOf(pkMemberInfo.getUserInfo().getUid()).equals(account)) {
|
||||
return pkMemberInfo;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private void updateTime() {
|
||||
roomPkData = PkModel.get().getCurPkInfo();
|
||||
if (roomPkData == null) {
|
||||
return;
|
||||
}
|
||||
long pkTimeUntilEnd = roomPkData.getCurPkTimeUntilEnd();
|
||||
tvPkTimer.setText(String.format("%1$02d:%2$02d", pkTimeUntilEnd / 60, pkTimeUntilEnd % 60));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
EventBus.getDefault().register(this);
|
||||
compositeDisposable = new CompositeDisposable();
|
||||
compositeDisposable.add(IMNetEaseManager.get().getChatRoomEventObservable()
|
||||
.subscribe(this::onReceiveRoomEvent));
|
||||
}
|
||||
|
||||
private void onReceiveRoomEvent(RoomEvent roomEvent) {
|
||||
int event = roomEvent.getEvent();
|
||||
switch (event) {
|
||||
case RoomEvent.PK_INFO_UPDATE:
|
||||
roomPkData = PkModel.get().getCurPkInfo();
|
||||
if (roomPkData != null && (roomPkData.getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK ||
|
||||
roomPkData.getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK)) {
|
||||
dismiss();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
EventBus.getDefault().unregister(this);
|
||||
compositeDisposable.dispose();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKDataUpdateEvent(PKDataUpdateEvent event) {
|
||||
if (PkModel.get().getCurPkInfo() == null
|
||||
|| PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
dismiss();
|
||||
return;
|
||||
}
|
||||
|
||||
PKTeamInfo redTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
PKTeamInfo blueTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE);
|
||||
if (redTeam == null || blueTeam == null) {
|
||||
return;
|
||||
}
|
||||
long totalScore = redTeam.getScore() + blueTeam.getScore();
|
||||
if (totalScore > 0) {
|
||||
tvRedTeamScore.setText(FormatUtils.formatPKValue(redTeam.getScore()));
|
||||
tvBlueTeamScore.setText(FormatUtils.formatPKValue(blueTeam.getScore()));
|
||||
int percent = (int) ((float) redTeam.getScore() / (float) totalScore * 100.0f);
|
||||
pbScore.setProgress(percent);
|
||||
} else {
|
||||
pbScore.setProgress(50);
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKTimeTickEvent(PKTimeTickEvent event) {
|
||||
updateTime();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKTimeFinishEvent(PKTimeFinishEvent event) {
|
||||
tvPkTimer.setText("00:00");
|
||||
}
|
||||
}
|
@@ -1,14 +1,13 @@
|
||||
package com.chwl.app.avroom.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -17,18 +16,16 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.common.widget.CircleImageView;
|
||||
import com.chwl.app.databinding.RoomTeamPkResultDialogBinding;
|
||||
import com.chwl.app.ui.widget.dialog.BaseDialog;
|
||||
import com.chwl.library.common.util.Utils;
|
||||
import com.chwl.app.ui.widget.recyclerview.decoration.ColorDecoration;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamMember;
|
||||
import com.chwl.core.room.pk.bean.RoomPkData;
|
||||
import com.chwl.library.utils.FormatUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -40,19 +37,14 @@ import lombok.Data;
|
||||
* @Description
|
||||
* @Date 2019/1/4
|
||||
*/
|
||||
public class PKResultDialog extends BaseDialog {
|
||||
public class RoomTeamPKResultDialog extends BaseDialog {
|
||||
private final static int TEAM_RED = PKTeamInfo.TEAM_RED;
|
||||
private final static int TEAM_BLUE = PKTeamInfo.TEAM_BLUE;
|
||||
|
||||
private final static int PK_RESULT_VICTORY = 1;
|
||||
private final static int PK_RESULT_FAIL = -1;
|
||||
private final static int PK_RESULT_TIE = 0;
|
||||
|
||||
private LinearLayout llGuardianName;
|
||||
private LinearLayout llGuardianValue;
|
||||
private LinearLayout llPkMember;
|
||||
private LinearLayout llScore;
|
||||
private ImageView ivResultBottom;
|
||||
private RoomTeamPkResultDialogBinding binding;
|
||||
private ImageView ivResultTop;
|
||||
private RecyclerView rvList;
|
||||
private TextView tvScore;
|
||||
@@ -60,9 +52,6 @@ public class PKResultDialog extends BaseDialog {
|
||||
private TextView tvGuardianValue;
|
||||
private TextView tvTeamStatus;
|
||||
private TextView tvSeeOtherTeam;
|
||||
private TextView tvTeamLose;
|
||||
private LinearLayout llResultTie;
|
||||
private TextView tvTieScore;
|
||||
|
||||
private int pkResult = PK_RESULT_TIE;
|
||||
private boolean isShowOpponent = false;//是否在显示对手
|
||||
@@ -70,8 +59,9 @@ public class PKResultDialog extends BaseDialog {
|
||||
private RoomPkData roomPkData;
|
||||
private PKTeamInfo teamInfo;
|
||||
|
||||
public PKResultDialog(Context context, RoomPkData roomPkData) {
|
||||
public RoomTeamPKResultDialog(Context context, RoomPkData roomPkData) {
|
||||
super(context, R.style.full_screen_dialog);
|
||||
binding = RoomTeamPkResultDialogBinding.inflate(LayoutInflater.from(getContext()));
|
||||
Window window = getWindow();
|
||||
if (window != null) {
|
||||
WindowManager.LayoutParams lps = window.getAttributes();
|
||||
@@ -87,31 +77,20 @@ public class PKResultDialog extends BaseDialog {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setCanceledOnTouchOutside(true);
|
||||
setContentView(R.layout.dialog_pk_result);
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
llPkMember = (LinearLayout) findViewById(R.id.ll_pk_member);
|
||||
llScore = (LinearLayout) findViewById(R.id.ll_score);
|
||||
|
||||
ivResultBottom = (ImageView) findViewById(R.id.iv_result_bottom);
|
||||
ivResultTop = (ImageView) findViewById(R.id.iv_result_top);
|
||||
rvList = (RecyclerView) findViewById(R.id.rv_list);
|
||||
rvList = (RecyclerView) findViewById(R.id.recycler_view);
|
||||
|
||||
tvScore = (TextView) findViewById(R.id.tv_score);
|
||||
llGuardianName = (LinearLayout) findViewById(R.id.ll_guardian_name);
|
||||
llGuardianValue = (LinearLayout) findViewById(R.id.ll_guardian_value);
|
||||
tvGuardianName = (TextView) findViewById(R.id.tv_guardian_name);
|
||||
tvGuardianValue = (TextView) findViewById(R.id.tv_guardian_value);
|
||||
tvTeamStatus = (TextView) findViewById(R.id.tv_team_status);
|
||||
tvSeeOtherTeam = (TextView) findViewById(R.id.tv_see_other_team);
|
||||
tvTeamLose = (TextView) findViewById(R.id.tv_team_lose);
|
||||
|
||||
llResultTie = (LinearLayout) findViewById(R.id.ll_result_tie);
|
||||
tvTieScore = (TextView) findViewById(R.id.tv_tie_score);
|
||||
|
||||
|
||||
adapter = new PkResultMemberAdapter(null);
|
||||
rvList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
|
||||
rvList.addItemDecoration(new ColorDecoration(Color.TRANSPARENT, Utils.dip2px(getContext(), 10), 0, true));
|
||||
rvList.setAdapter(adapter);
|
||||
|
||||
tvSeeOtherTeam.setOnClickListener(v -> {
|
||||
@@ -130,28 +109,29 @@ public class PKResultDialog extends BaseDialog {
|
||||
return;
|
||||
}
|
||||
if (roomPkData.getVoteMode() == RoomPkData.VOTE_MODE_PERSON) {
|
||||
llGuardianName.setVisibility(View.GONE);
|
||||
llGuardianValue.setVisibility(View.GONE);
|
||||
binding.groupGuardianName.setVisibility(View.GONE);
|
||||
binding.groupGuardianValue.setVisibility(View.GONE);
|
||||
}
|
||||
int result = roomPkData.getResult();
|
||||
int teamId = findTeamIdByAccount(String.valueOf(AuthModel.get().getCurrentUid()));
|
||||
if (teamId == PKTeamInfo.TEAM_NONE) {
|
||||
//观众
|
||||
if (result == RoomPkData.PK_RESULT_DRAW) {
|
||||
teamInfo = findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
pkResult = PK_RESULT_TIE;
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_01));
|
||||
llPkMember.setVisibility(View.GONE);
|
||||
llScore.setVisibility(View.GONE);
|
||||
llGuardianName.setVisibility(View.GONE);
|
||||
llGuardianValue.setVisibility(View.GONE);
|
||||
llResultTie.setVisibility(View.VISIBLE);
|
||||
tvTieScore.setText(FormatUtils.formatPKValue(roomPkData.getTeams().get(0).getScore()));
|
||||
refreshBgByStatus();
|
||||
if (teamInfo != null) {
|
||||
tvScore.setText(teamInfo.getScore() + "");
|
||||
} else {
|
||||
tvScore.setText("0");
|
||||
}
|
||||
binding.groupGuardianName.setVisibility(View.GONE);
|
||||
binding.groupGuardianValue.setVisibility(View.GONE);
|
||||
refreshView(pkResult, teamInfo);
|
||||
} else {
|
||||
pkResult = PK_RESULT_VICTORY;
|
||||
teamInfo = findTeamByTeamId(result);
|
||||
refreshView(pkResult, teamInfo);
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -161,10 +141,13 @@ public class PKResultDialog extends BaseDialog {
|
||||
if (result == RoomPkData.PK_RESULT_DRAW) {
|
||||
pkResult = PK_RESULT_TIE;
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_02));
|
||||
tvScore.setText(teamInfo.getScore() + "");
|
||||
llGuardianName.setVisibility(View.GONE);
|
||||
llGuardianValue.setVisibility(View.GONE);
|
||||
tvTeamLose.setVisibility(View.GONE);
|
||||
if (teamInfo != null) {
|
||||
tvScore.setText(teamInfo.getScore() + "");
|
||||
} else {
|
||||
tvScore.setText("0");
|
||||
}
|
||||
binding.groupGuardianName.setVisibility(View.GONE);
|
||||
binding.groupGuardianValue.setVisibility(View.GONE);
|
||||
refreshView(pkResult, teamInfo);
|
||||
|
||||
} else {
|
||||
@@ -175,7 +158,7 @@ public class PKResultDialog extends BaseDialog {
|
||||
}
|
||||
|
||||
|
||||
private void showTeamMembers(PKTeamInfo teamInfo) {
|
||||
private void showTeamMembers(int pkResult, PKTeamInfo teamInfo) {
|
||||
List<PkResultMember> pkResultMembers = new ArrayList<>();
|
||||
for (PKTeamMember pkTeamMember : teamInfo.getTeamMembers()) {
|
||||
PkResultMember resultMember = new PkResultMember();
|
||||
@@ -184,22 +167,29 @@ public class PKResultDialog extends BaseDialog {
|
||||
resultMember.isMVP = pkTeamMember.getUid().equals(teamInfo.getMvp());
|
||||
pkResultMembers.add(resultMember);
|
||||
}
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
adapter.setAvatarBg(R.drawable.room_team_pk_result_avatar_bg_win);
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
adapter.setAvatarBg(R.drawable.room_team_pk_result_avatar_bg_fail);
|
||||
} else {
|
||||
adapter.setAvatarBg(R.drawable.room_team_pk_result_avatar_bg_draw);
|
||||
}
|
||||
adapter.setNewData(pkResultMembers);
|
||||
}
|
||||
|
||||
private void showColorByTeam(PKTeamInfo pkTeamInfo) {
|
||||
if (pkTeamInfo.getTeam() == PKTeamInfo.TEAM_RED) {
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_FF396F));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_FF396F));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_FF396F));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_FF4B81));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
} else if (pkTeamInfo.getTeam() == PKTeamInfo.TEAM_BLUE) {
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_FF4B81));
|
||||
} else {
|
||||
//未知
|
||||
}
|
||||
@@ -207,14 +197,11 @@ public class PKResultDialog extends BaseDialog {
|
||||
|
||||
private void refreshBgByStatus() {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
ivResultTop.setImageResource(R.drawable.pk_result_victory_top);
|
||||
ivResultBottom.setImageResource(R.mipmap.pk_result_victory_bottom);
|
||||
ivResultTop.setImageResource(R.drawable.room_team_pk_result_top_win);
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
ivResultTop.setImageResource(R.drawable.pk_result_fail_top);
|
||||
ivResultBottom.setImageResource(R.mipmap.pk_result_fail_bottom);
|
||||
ivResultTop.setImageResource(R.drawable.room_team_pk_result_top_fail);
|
||||
} else if (pkResult == PK_RESULT_TIE) {
|
||||
ivResultTop.setImageResource(R.drawable.pk_result_tie_top);
|
||||
ivResultBottom.setImageResource(R.mipmap.pk_result_tie_bottom);
|
||||
ivResultTop.setImageResource(R.drawable.room_team_pk_result_top_draw);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -268,7 +255,7 @@ public class PKResultDialog extends BaseDialog {
|
||||
|
||||
private void refreshView(int pkResult, PKTeamInfo teamInfo) {
|
||||
refreshBgByStatus();
|
||||
showTeamMembers(teamInfo);
|
||||
showTeamMembers(pkResult, teamInfo);
|
||||
showColorByTeam(teamInfo);
|
||||
|
||||
tvScore.setText(FormatUtils.formatPKValue(teamInfo.getScore()));
|
||||
@@ -291,7 +278,6 @@ public class PKResultDialog extends BaseDialog {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_06));
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
tvTeamLose.setVisibility(View.VISIBLE);
|
||||
}
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_07));
|
||||
} else {
|
||||
@@ -305,7 +291,6 @@ public class PKResultDialog extends BaseDialog {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_011));
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
tvTeamLose.setVisibility(View.VISIBLE);
|
||||
}
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_012));
|
||||
} else {
|
||||
@@ -327,20 +312,26 @@ public class PKResultDialog extends BaseDialog {
|
||||
|
||||
class PkResultMemberAdapter extends BaseQuickAdapter<PkResultMember, BaseViewHolder> {
|
||||
|
||||
private int avatarBgResId = R.drawable.room_team_pk_result_avatar_bg_win;
|
||||
|
||||
public void setAvatarBg(int redId) {
|
||||
this.avatarBgResId = redId;
|
||||
}
|
||||
|
||||
public PkResultMemberAdapter(@Nullable List<PkResultMember> data) {
|
||||
super(R.layout.item_pk_result_member_rv, data);
|
||||
super(R.layout.room_team_pk_result_item, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, PkResultMember item) {
|
||||
CircleImageView avatar = helper.getView(R.id.civ_avatar);
|
||||
ImageView avatarBg = helper.getView(R.id.iv_avatar_bg);
|
||||
avatarBg.setImageResource(avatarBgResId);
|
||||
ImageView avatar = helper.getView(R.id.iv_avatar);
|
||||
GlideApp.with(avatar)
|
||||
.load(item.avatar)
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(avatar);
|
||||
|
||||
helper.setVisible(R.id.iv_mvp_mark, item.isMVP);
|
||||
}
|
||||
}
|
||||
|
319
app/src/main/java/com/chwl/app/avroom/dialog/RoomTeamPkDialog.kt
Normal file
@@ -0,0 +1,319 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.text.TextUtils
|
||||
import android.view.WindowManager
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.view.isVisible
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.databinding.RoomTeamPkDialogBinding
|
||||
import com.chwl.app.ui.utils.loadAvatar
|
||||
import com.chwl.app.ui.widget.dialog.CommonTipDialog
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo
|
||||
import com.chwl.core.room.pk.bean.RoomPKInvitedUpMicMember
|
||||
import com.chwl.core.room.pk.bean.RoomPkData
|
||||
import com.chwl.core.room.pk.event.PKDataUpdateEvent
|
||||
import com.chwl.core.room.pk.event.PKTimeFinishEvent
|
||||
import com.chwl.core.room.pk.event.PKTimeTickEvent
|
||||
import com.chwl.core.room.pk.model.PkModel
|
||||
import com.chwl.library.utils.FormatUtils
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.chwl.library.utils.SingleToastUtil
|
||||
import io.reactivex.SingleObserver
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import io.reactivex.disposables.Disposable
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
|
||||
class RoomTeamPkDialog : BaseDialog<RoomTeamPkDialogBinding>() {
|
||||
|
||||
private var compositeDisposable: CompositeDisposable? = null
|
||||
|
||||
private var onActionListener: OnActionListener? = null
|
||||
|
||||
override var width = WindowManager.LayoutParams.MATCH_PARENT
|
||||
|
||||
override fun init() {
|
||||
binding.layoutRoot.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
binding.userListBlue.showBlueStyle()
|
||||
binding.ivClose.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
binding.tvNext.setOnClickListener {
|
||||
if (PkModel.get().isFighting) {
|
||||
onRestartClick()
|
||||
} else {
|
||||
onStartClick()
|
||||
}
|
||||
}
|
||||
binding.ivAvatarRed.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_RED)
|
||||
}
|
||||
}
|
||||
binding.ivAvatarBlue.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_BLUE)
|
||||
}
|
||||
}
|
||||
binding.userListRed.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_RED)
|
||||
}
|
||||
}
|
||||
binding.userListBlue.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_BLUE)
|
||||
}
|
||||
}
|
||||
updateView()
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
EventBus.getDefault().register(this)
|
||||
compositeDisposable = CompositeDisposable()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
EventBus.getDefault().unregister(this)
|
||||
compositeDisposable?.dispose()
|
||||
}
|
||||
|
||||
fun setOnActionListener(onActionListener: OnActionListener?) {
|
||||
this.onActionListener = onActionListener
|
||||
}
|
||||
|
||||
fun updateView() {
|
||||
if (_binding == null) {
|
||||
return
|
||||
}
|
||||
updateTeamUserList()
|
||||
updateTime()
|
||||
updateProgress()
|
||||
if (PkModel.get().isFighting) {
|
||||
binding.tvNext.setText(R.string.pk_restart)
|
||||
} else {
|
||||
binding.tvNext.setText(R.string.start_pk)
|
||||
}
|
||||
updateManageButtonVisible(AvRoomDataManager.get().isManager)
|
||||
}
|
||||
|
||||
private fun updateTeamUserList() {
|
||||
val pkMemberInfoList = PkModel.get().pkMemberInfoList
|
||||
val redList =
|
||||
pkMemberInfoList.filter { it.teamId == PKTeamInfo.TEAM_RED }.take(4).mapNotNull {
|
||||
it.userInfo
|
||||
}
|
||||
val blueList =
|
||||
pkMemberInfoList.filter { it.teamId == PKTeamInfo.TEAM_BLUE }.take(4).mapNotNull {
|
||||
it.userInfo
|
||||
}
|
||||
binding.userListRed.updateData(redList.drop(1).map {
|
||||
it.avatar
|
||||
})
|
||||
binding.userListBlue.updateData(blueList.drop(1).map {
|
||||
it.avatar
|
||||
})
|
||||
binding.ivAvatarRed.loadAvatar(redList.firstOrNull()?.avatar)
|
||||
binding.ivAvatarBlue.loadAvatar(blueList.firstOrNull()?.avatar)
|
||||
}
|
||||
|
||||
private fun updateManageButtonVisible(isVisible: Boolean) {
|
||||
val dimensionRatio: String
|
||||
if (isVisible) {
|
||||
binding.ivBg.setImageResource(R.drawable.room_team_pk_bg)
|
||||
binding.tvNext.isVisible = true
|
||||
dimensionRatio = "309:379"
|
||||
} else {
|
||||
binding.ivBg.setImageResource(R.drawable.room_team_pk_bg_no_manage)
|
||||
binding.tvNext.isVisible = false
|
||||
dimensionRatio = "309:324"
|
||||
}
|
||||
val params = binding.layoutContent.layoutParams as ConstraintLayout.LayoutParams
|
||||
params.dimensionRatio = dimensionRatio
|
||||
binding.layoutContent.layoutParams = params
|
||||
}
|
||||
|
||||
private fun updateTime() {
|
||||
if (_binding == null) {
|
||||
return
|
||||
}
|
||||
val roomPkData = PkModel.get().curPkInfo
|
||||
val pkTimeUntilEnd: Long
|
||||
if (roomPkData?.pkStatus != RoomPkData.PK_STATUS_IN_PK) {
|
||||
pkTimeUntilEnd = roomPkData?.duration ?: 0
|
||||
} else {
|
||||
pkTimeUntilEnd = roomPkData.curPkTimeUntilEnd
|
||||
}
|
||||
binding.tvTime.text =
|
||||
String.format("%1$02d:%2$02d", pkTimeUntilEnd / 60, pkTimeUntilEnd % 60)
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onPKDataUpdateEvent(event: PKDataUpdateEvent) {
|
||||
updateProgress()
|
||||
if (event.type == PKDataUpdateEvent.TYPE_RESULT) {
|
||||
safeDismiss()
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateProgress() {
|
||||
if (_binding == null) {
|
||||
return
|
||||
}
|
||||
val redTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED)
|
||||
val blueTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE)
|
||||
if (redTeam == null || blueTeam == null) {
|
||||
updateProgress(0, 0)
|
||||
return
|
||||
}
|
||||
updateProgress(redTeam.score, blueTeam.score)
|
||||
}
|
||||
|
||||
private fun updateProgress(redScore: Long, blueScore: Long) {
|
||||
val totalScore = redScore + blueScore
|
||||
if (totalScore > 0) {
|
||||
binding.tvScoreRed.text = FormatUtils.formatPKValue(redScore)
|
||||
binding.tvScoreBlue.text = FormatUtils.formatPKValue(blueScore)
|
||||
updateProgress(redScore.toFloat() / totalScore.toFloat())
|
||||
} else {
|
||||
updateProgress(0.5f)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateProgress(percent: Float) {
|
||||
binding.pbScore.post {
|
||||
binding.pbScore.progress = (percent * 100).toInt()
|
||||
val progress = binding.pbScore.width * (percent)
|
||||
var bias =
|
||||
(progress - binding.svgaHot.width / 2f) / (binding.pbScore.width - binding.svgaHot.width)
|
||||
val layoutParams = binding.svgaHot.layoutParams as ConstraintLayout.LayoutParams
|
||||
bias = 1f.coerceAtMost(bias)
|
||||
bias = 0f.coerceAtLeast(bias)
|
||||
layoutParams.horizontalBias = bias
|
||||
binding.svgaHot.layoutParams = layoutParams
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onPKTimeTickEvent(event: PKTimeTickEvent?) {
|
||||
updateTime()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onPKTimeFinishEvent(event: PKTimeFinishEvent?) {
|
||||
updateView()
|
||||
}
|
||||
|
||||
private fun onSeatClick(teamType: Int) {
|
||||
//不是管理员或者房主弹出排麦dialog
|
||||
if (!AvRoomDataManager.get().isManager) {
|
||||
//已经排麦不操作
|
||||
if (!PkModel.get().pkMemberInfoList.isNullOrEmpty() && AvRoomDataManager.get().myIsInQueue) {
|
||||
SingleToastUtil.showToastShort(ResUtil.getString(R.string.avroom_widget_pkboardview_03))
|
||||
return
|
||||
}
|
||||
onActionListener?.onShowPKMicQueueDialog()
|
||||
return
|
||||
}
|
||||
//添加红队人员
|
||||
val selectDialog =
|
||||
PKSelectPeopleDialog(context, teamType, PkModel.get().pkMemberInfoList)
|
||||
selectDialog.setOnSelectPeopleListener { micEntityList -> //更新队伍,麦序,显示头像
|
||||
val upMicMemberList: MutableList<RoomPKInvitedUpMicMember> =
|
||||
ArrayList()
|
||||
for (micEntity in micEntityList) {
|
||||
if (TextUtils.isEmpty(micEntity.uid)) {
|
||||
continue
|
||||
}
|
||||
val roomPKInvitedUpMicMember = RoomPKInvitedUpMicMember()
|
||||
if (micEntity.isSelect) {
|
||||
roomPKInvitedUpMicMember.groupType = teamType
|
||||
} else {
|
||||
if (TextUtils.isEmpty(micEntity.uid)) {
|
||||
roomPKInvitedUpMicMember.groupType = PKTeamInfo.TEAM_NONE
|
||||
} else {
|
||||
val teamId = PkModel.get().getTeamIdInPKMemberList(micEntity.uid)
|
||||
roomPKInvitedUpMicMember.groupType =
|
||||
if (teamId == teamType) PKTeamInfo.TEAM_NONE else teamId
|
||||
}
|
||||
}
|
||||
roomPKInvitedUpMicMember.uid = micEntity.uid
|
||||
roomPKInvitedUpMicMember.nick = micEntity.nick
|
||||
val micQueue = AvRoomDataManager.get().mMicQueueMemberMap
|
||||
//设置坑位的位置
|
||||
for (i in 0 until micQueue.size()) {
|
||||
val key = micQueue.keyAt(i)
|
||||
val roomQueueInfo = micQueue[key]
|
||||
if (roomQueueInfo.mChatRoomMember != null && roomQueueInfo.mChatRoomMember.account == micEntity.uid
|
||||
) {
|
||||
roomPKInvitedUpMicMember.position = key
|
||||
}
|
||||
}
|
||||
upMicMemberList.add(roomPKInvitedUpMicMember)
|
||||
}
|
||||
PkModel.get().inviteInTeam(upMicMemberList)
|
||||
.doOnError { throwable: Throwable ->
|
||||
SingleToastUtil.showToastShort(
|
||||
throwable.message
|
||||
)
|
||||
}
|
||||
.subscribe()
|
||||
}
|
||||
selectDialog.show()
|
||||
}
|
||||
|
||||
private fun onStartClick() {
|
||||
onActionListener?.onBeginPK()
|
||||
}
|
||||
|
||||
private fun onRestartClick() {
|
||||
if (PkModel.get().curPkInfo == null) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_01))
|
||||
dismissAllowingStateLoss()
|
||||
return
|
||||
}
|
||||
if (PkModel.get().curPkInfo?.pkStatus == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_02))
|
||||
dismissAllowingStateLoss()
|
||||
return
|
||||
}
|
||||
val tipDialog = CommonTipDialog(context)
|
||||
tipDialog.setTipMsg(
|
||||
ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_03) +
|
||||
ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_04)
|
||||
)
|
||||
tipDialog.setOnActionListener(
|
||||
object : CommonTipDialog.OnActionListener {
|
||||
override fun onOk() {
|
||||
PkModel.get().toPKAgain().subscribe(object : SingleObserver<String?> {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
compositeDisposable?.add(d)
|
||||
}
|
||||
|
||||
override fun onSuccess(t: String) {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
|
||||
override fun onError(e: Throwable) {
|
||||
SingleToastUtil.showToast(e.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
tipDialog.show()
|
||||
}
|
||||
|
||||
interface OnActionListener {
|
||||
fun onBeginPK()
|
||||
fun onShowPKMicQueueDialog()
|
||||
}
|
||||
}
|
@@ -8,10 +8,13 @@ import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.chwl.app.avroom.dialog.RoomTeamPKResultDialog;
|
||||
import com.chwl.app.avroom.dialog.RoomTeamPkDialog;
|
||||
import com.chwl.app.avroom.headline.RoomHeadlineWidget;
|
||||
import com.chwl.app.avroom.online.RoomOnlineWidget;
|
||||
import com.chwl.app.music.widget.MusicPlayerView;
|
||||
import com.chwl.app.ui.webview.DialogWebViewActivity;
|
||||
import com.chwl.core.room.pk.event.PKDataUpdateEvent;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent;
|
||||
import com.chwl.app.R;
|
||||
@@ -25,12 +28,9 @@ import com.chwl.app.avroom.anotherroompk.RoomPkForceFinishDialog;
|
||||
import com.chwl.app.avroom.anotherroompk.RoomPkReceivedDialog;
|
||||
import com.chwl.app.avroom.dialog.MicQueueDialog;
|
||||
import com.chwl.app.avroom.dialog.PKMicQueueDialog;
|
||||
import com.chwl.app.avroom.dialog.PKResultDialog;
|
||||
import com.chwl.app.avroom.dialog.PKScoreBoardDialog;
|
||||
import com.chwl.app.avroom.giftvalue.GiftValueDialogUiHelper;
|
||||
import com.chwl.app.avroom.presenter.HomePartyPresenter;
|
||||
import com.chwl.app.avroom.view.IHomePartyView;
|
||||
import com.chwl.app.avroom.widget.PKBoardView;
|
||||
import com.chwl.app.base.BaseMvpActivity;
|
||||
import com.chwl.app.common.widget.dialog.DialogManager;
|
||||
import com.chwl.app.databinding.FragmentAvRoomGameBinding;
|
||||
@@ -87,10 +87,10 @@ import io.reactivex.disposables.Disposable;
|
||||
*/
|
||||
@CreatePresenter(HomePartyPresenter.class)
|
||||
public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, HomePartyPresenter> implements
|
||||
IHomePartyView, PKBoardView.OnActionListener {
|
||||
IHomePartyView, RoomTeamPkDialog.OnActionListener {
|
||||
|
||||
private long myUid;
|
||||
private PKBoardView pkBoardView;
|
||||
private RoomTeamPkDialog teamPkDialog;
|
||||
private Disposable mDisposable;
|
||||
private FragmentAvRoomGameBinding gameBinding;
|
||||
/**
|
||||
@@ -121,8 +121,7 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
gameBinding.setKtvModel(false);
|
||||
gameBinding.playTogether.setVisibility(View.GONE);
|
||||
microView = mView.findViewById(R.id.micro_view);
|
||||
pkBoardView = mView.findViewById(R.id.layout_pk_board);
|
||||
pkBoardView.setOnActionListener(this);
|
||||
gameBinding.ivTeamPk.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -257,8 +256,12 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
//PK 开始弹出大记分板
|
||||
if (PkModel.get().getCurPkInfo() != null
|
||||
&& PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_IN_PK) {
|
||||
PKScoreBoardDialog pkScoreBoardDialog = new PKScoreBoardDialog(getContext());
|
||||
pkScoreBoardDialog.show();
|
||||
showTeamPkDialog();
|
||||
}
|
||||
break;
|
||||
case RoomEvent.PK_CREATE:
|
||||
if (PkModel.get().getCurPkInfo() != null) {
|
||||
showTeamPkDialog();
|
||||
}
|
||||
break;
|
||||
case RoomEvent.ROOM_PK_INVITE:
|
||||
@@ -345,14 +348,14 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
private void updatePkScoreBoard() {
|
||||
if (AvRoomDataManager.get().isOpenPKMode()) {
|
||||
|
||||
if (pkBoardView.getVisibility() == View.GONE) {
|
||||
if (gameBinding.ivTeamPk.getVisibility() == View.GONE) {
|
||||
// 通知更新背景
|
||||
PKStateEvent pkStateEvent = new PKStateEvent();
|
||||
pkStateEvent.setCreate(true);
|
||||
EventBus.getDefault().post(pkStateEvent);
|
||||
showTeamPkDialog();
|
||||
}
|
||||
|
||||
pkBoardView.setVisibility(View.VISIBLE);
|
||||
gameBinding.ivTeamPk.setVisibility(View.VISIBLE);
|
||||
//这里通过接口获取PK 详情 更新pk 记分板
|
||||
if (PkModel.get().getCurPkInfo() == null) {
|
||||
PkModel.get().loadPKDataByRoomId(
|
||||
@@ -366,7 +369,9 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
|
||||
@Override
|
||||
public void onSuccess(RoomPkData roomPkData) {
|
||||
pkBoardView.updateView();
|
||||
if (teamPkDialog != null) {
|
||||
teamPkDialog.updateView();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -375,7 +380,9 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
}
|
||||
});
|
||||
} else {
|
||||
pkBoardView.updateView();
|
||||
if (teamPkDialog != null) {
|
||||
teamPkDialog.updateView();
|
||||
}
|
||||
}
|
||||
//取消掉正在进行的龙珠
|
||||
if (AvRoomDataManager.get().haveStartDragon) {
|
||||
@@ -387,23 +394,41 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
}
|
||||
|
||||
} else {
|
||||
if (pkBoardView.getVisibility() == View.VISIBLE) {
|
||||
if (gameBinding.ivTeamPk.getVisibility() == View.VISIBLE) {
|
||||
// 通知更新bg
|
||||
PKStateEvent pkStateEvent = new PKStateEvent();
|
||||
pkStateEvent.setCreate(false);
|
||||
EventBus.getDefault().post(pkStateEvent);
|
||||
}
|
||||
pkBoardView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
pkBoardView.setVisibility(View.GONE);
|
||||
gameBinding.ivTeamPk.setVisibility(View.GONE);
|
||||
dismissTeamPkDialog();
|
||||
}
|
||||
|
||||
//龙珠相关界面设置
|
||||
setDragonView();
|
||||
}
|
||||
|
||||
private void showTeamPkDialog() {
|
||||
if (getActivity() == null) {
|
||||
return;
|
||||
}
|
||||
if (teamPkDialog != null) {
|
||||
if (teamPkDialog.isResumed()) {
|
||||
return;
|
||||
}
|
||||
dismissTeamPkDialog();
|
||||
}
|
||||
teamPkDialog = new RoomTeamPkDialog();
|
||||
teamPkDialog.setOnActionListener(this);
|
||||
teamPkDialog.safeShow(requireActivity().getSupportFragmentManager(), this, null);
|
||||
}
|
||||
|
||||
private void dismissTeamPkDialog() {
|
||||
if (teamPkDialog != null) {
|
||||
teamPkDialog.safeDismiss();
|
||||
teamPkDialog = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void cleanDragonBar() {
|
||||
LogUtil.e("cleanDragonBar");
|
||||
@@ -530,6 +555,7 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
mDisposable.dispose();
|
||||
mDisposable = null;
|
||||
}
|
||||
dismissTeamPkDialog();
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@@ -565,6 +591,9 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
public void onClick(View v) {
|
||||
super.onClick(v);
|
||||
switch (v.getId()) {
|
||||
case R.id.iv_team_pk:
|
||||
showTeamPkDialog();
|
||||
break;
|
||||
case R.id.play_together:
|
||||
if (!DynamicFaceModel.get().isShowingFace()) {
|
||||
FaceInfo faceInfo = DynamicFaceModel.get().getPlayTogetherFace();
|
||||
@@ -690,12 +719,6 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEndPK() {
|
||||
PKResultDialog pkResultDialog = new PKResultDialog(getContext(), PkModel.get().getCurPkInfo());
|
||||
pkResultDialog.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShowPKMicQueueDialog() {
|
||||
if (PkModel.get().isFighting()) {
|
||||
@@ -1024,4 +1047,16 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
|
||||
super.onInitMusicPlayerView(view);
|
||||
view.linkIconView(gameBinding.ivMusic, gameBinding.ivMusic);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKDataUpdateEvent(PKDataUpdateEvent event) {
|
||||
RoomPkData data = PkModel.get().getCurPkInfo();
|
||||
if (data == null) {
|
||||
return;
|
||||
}
|
||||
if (event.getType() == PKDataUpdateEvent.TYPE_RESULT && data.getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
RoomTeamPKResultDialog teamPkResultDialog = new RoomTeamPKResultDialog(getContext(), PkModel.get().getCurPkInfo());
|
||||
teamPkResultDialog.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ import androidx.recyclerview.widget.SimpleItemAnimator;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.UIHelper;
|
||||
import com.chwl.app.avroom.activity.AVRoomActivity;
|
||||
import com.chwl.app.avroom.dialog.PKResultDialog;
|
||||
import com.chwl.app.avroom.dialog.RoomTeamPKResultDialog;
|
||||
import com.chwl.app.avroom.widget.OnMsgLongClickListener;
|
||||
import com.chwl.app.avroom.widget.TemplateMessageAdapter;
|
||||
import com.chwl.app.common.widget.CustomImageSpan;
|
||||
@@ -50,7 +50,6 @@ import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.chwl.app.utils.ObjectTypeHelper;
|
||||
import com.chwl.app.utils.RegexUtil;
|
||||
import com.chwl.core.DemoCache;
|
||||
import com.chwl.core.XConstants;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
import com.chwl.core.bean.attachmsg.RoomQueueMsgAttachment;
|
||||
import com.chwl.core.decoration.car.bean.CarInfo;
|
||||
@@ -830,7 +829,7 @@ public class PublicChatMessageView extends FrameLayout {
|
||||
}
|
||||
} else if (attachment.getFirst() == CustomAttachment.CUSTOM_MESS_HEAD_ROOM_PK) {
|
||||
if (attachment.getSecond() == CustomAttachment.CUSTOM_MESS_SUB_ROOM_PK_RESULT) {
|
||||
PKResultDialog pkResultDialog = new PKResultDialog(getContext(), ((RoomPkAttachment) attachment).getRoomPkData());
|
||||
RoomTeamPKResultDialog pkResultDialog = new RoomTeamPKResultDialog(getContext(), ((RoomPkAttachment) attachment).getRoomPkData());
|
||||
pkResultDialog.show();
|
||||
}
|
||||
} else if (attachment instanceof RoomFollowOwnerAttachment2 && !AvRoomDataManager.get().isRoomFans) {
|
||||
|
@@ -29,12 +29,9 @@ import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.Editable;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
@@ -42,7 +39,6 @@ import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
@@ -81,11 +77,9 @@ import com.chwl.app.sadmin.utils.SaAttachmentToMsgUtil;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.UIHelper;
|
||||
import com.chwl.app.avroom.activity.AVRoomActivity;
|
||||
import com.chwl.app.avroom.dialog.PKResultDialog;
|
||||
import com.chwl.app.avroom.dialog.RoomTeamPKResultDialog;
|
||||
import com.chwl.app.avroom.room_album.UnlockRoomAlbumPhotoDialog;
|
||||
import com.chwl.library.common.util.Utils;
|
||||
import com.chwl.app.common.widget.CustomAutoWidthImageSpan;
|
||||
import com.chwl.app.common.widget.CustomImageSpan;
|
||||
import com.chwl.app.common.widget.OriginalDrawStatusClickSpan;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2;
|
||||
@@ -95,7 +89,6 @@ import com.chwl.app.ui.widget.RecyclerViewNoViewpagerScroll;
|
||||
import com.chwl.app.ui.widget.UserInfoDialog;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.chwl.app.utils.RegexUtil;
|
||||
import com.chwl.core.XConstants;
|
||||
import com.chwl.core.DemoCache;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
import com.chwl.core.bean.attachmsg.RoomQueueMsgAttachment;
|
||||
@@ -162,7 +155,6 @@ import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.core.manager.IMNetEaseManager;
|
||||
import com.chwl.core.miniworld.bean.MiniWorldInWorldInfo;
|
||||
import com.chwl.core.monsterhunting.bean.MonsterHuntingResult;
|
||||
import com.chwl.core.monsterhunting.bean.MonsterProtocol;
|
||||
import com.chwl.core.noble.bean.NobleInfo;
|
||||
import com.chwl.core.noble.NobleUtil;
|
||||
import com.chwl.core.praise.PraiseModel;
|
||||
@@ -2919,7 +2911,7 @@ public class MessageView extends FrameLayout {
|
||||
}
|
||||
} else if (attachment.getFirst() == CustomAttachment.CUSTOM_MESS_HEAD_ROOM_PK) {
|
||||
if (attachment.getSecond() == CustomAttachment.CUSTOM_MESS_SUB_ROOM_PK_RESULT) {
|
||||
PKResultDialog pkResultDialog = new PKResultDialog(getContext(), ((RoomPkAttachment) attachment).getRoomPkData());
|
||||
RoomTeamPKResultDialog pkResultDialog = new RoomTeamPKResultDialog(getContext(), ((RoomPkAttachment) attachment).getRoomPkData());
|
||||
pkResultDialog.show();
|
||||
}
|
||||
} else if (attachment instanceof RoomFollowOwnerAttachment2 && !AvRoomDataManager.get().isRoomFans) {
|
||||
|
@@ -1,448 +0,0 @@
|
||||
package com.chwl.app.avroom.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.SparseArray;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.avroom.dialog.PKScoreBoardDialog;
|
||||
import com.chwl.app.avroom.dialog.PKSelectPeopleDialog;
|
||||
import com.chwl.app.common.widget.CircleImageView;
|
||||
import com.chwl.core.bean.RoomQueueInfo;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.core.room.pk.bean.PKMemberInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo;
|
||||
import com.chwl.core.room.pk.bean.RoomPKInvitedUpMicMember;
|
||||
import com.chwl.core.room.pk.bean.RoomPkData;
|
||||
import com.chwl.core.room.pk.event.PKDataUpdateEvent;
|
||||
import com.chwl.core.room.pk.event.PKTimeFinishEvent;
|
||||
import com.chwl.core.room.pk.event.PKTimeTickEvent;
|
||||
import com.chwl.core.room.pk.model.PkModel;
|
||||
import com.chwl.library.utils.FormatUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.chwl.library.utils.SingleToastUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @author jack
|
||||
* @Description
|
||||
* @Date 2019/1/8
|
||||
*/
|
||||
public class PKBoardView extends RelativeLayout implements View.OnClickListener {
|
||||
|
||||
public PKBoardView(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public PKBoardView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public PKBoardView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
private View llPkScoreBoard;
|
||||
private View rlRedTeamAddPeople;
|
||||
private TextView tvRedTeamScore;
|
||||
private View rlBlueTeamAddPeople;
|
||||
private TextView tvBlueTeamScore;
|
||||
private TextView tvPkTimer;
|
||||
private CircleImageView civRedTeamMember1;
|
||||
private CircleImageView civRedTeamMember2;
|
||||
private CircleImageView civRedTeamMember3;
|
||||
private CircleImageView civRedTeamMember4;
|
||||
private CircleImageView ivAddRedTeamMember;
|
||||
private CircleImageView civBlueTeamMember1;
|
||||
private CircleImageView civBlueTeamMember2;
|
||||
private CircleImageView civBlueTeamMember3;
|
||||
private CircleImageView civBlueTeamMember4;
|
||||
private CircleImageView ivAddBlueTeamMember;
|
||||
|
||||
private ProgressBar pbScore;
|
||||
private ImageView ivPkBegin;
|
||||
|
||||
private final List<CircleImageView> civRedAvatars = new ArrayList<>();
|
||||
private final List<CircleImageView> civBlueAvatars = new ArrayList<>();
|
||||
|
||||
private void init() {
|
||||
inflate(getContext(), R.layout.layout_pk_board_view, this);
|
||||
if (isInEditMode()) {
|
||||
return;
|
||||
}
|
||||
llPkScoreBoard = findViewById(R.id.root_view);
|
||||
rlRedTeamAddPeople = findViewById(R.id.fl_left);
|
||||
tvRedTeamScore = this.findViewById(R.id.tv_red_team_score);
|
||||
rlBlueTeamAddPeople = findViewById(R.id.fl_right);
|
||||
tvBlueTeamScore = this.findViewById(R.id.tv_blue_team_score);
|
||||
tvPkTimer = this.findViewById(R.id.tv_pk_timer);
|
||||
pbScore = findViewById(R.id.pb_score);
|
||||
ivPkBegin = findViewById(R.id.iv_pk_begin);
|
||||
civRedTeamMember1 = findViewById(R.id.civ_red_team_member_1);
|
||||
civRedTeamMember2 = findViewById(R.id.civ_red_team_member_2);
|
||||
civRedTeamMember3 = findViewById(R.id.civ_red_team_member_3);
|
||||
civRedTeamMember4 = findViewById(R.id.civ_red_team_member_4);
|
||||
ivAddRedTeamMember = findViewById(R.id.iv_add_red_team_member);
|
||||
civBlueTeamMember1 = findViewById(R.id.civ_blue_team_member_1);
|
||||
civBlueTeamMember2 = findViewById(R.id.civ_blue_team_member_2);
|
||||
civBlueTeamMember3 = findViewById(R.id.civ_blue_team_member_3);
|
||||
civBlueTeamMember4 = findViewById(R.id.civ_blue_team_member_4);
|
||||
ivAddBlueTeamMember = findViewById(R.id.iv_add_blue_team_member);
|
||||
|
||||
civRedAvatars.add(civRedTeamMember1);
|
||||
civRedAvatars.add(civRedTeamMember2);
|
||||
civRedAvatars.add(civRedTeamMember3);
|
||||
civRedAvatars.add(civRedTeamMember4);
|
||||
|
||||
civBlueAvatars.add(civBlueTeamMember1);
|
||||
civBlueAvatars.add(civBlueTeamMember2);
|
||||
civBlueAvatars.add(civBlueTeamMember3);
|
||||
civBlueAvatars.add(civBlueTeamMember4);
|
||||
|
||||
updateView();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
EventBus.getDefault().register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow();
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
|
||||
public void updateView() {
|
||||
if (PkModel.get().isFighting()) {
|
||||
long countDownTime = PkModel.get().getCurPkInfo().getCurPkTimeUntilEnd();
|
||||
tvPkTimer.setText(String.format(Locale.getDefault(), "%1$02d:%2$02d", countDownTime / 60, countDownTime % 60));
|
||||
ivAddRedTeamMember.setVisibility(GONE);
|
||||
ivAddBlueTeamMember.setVisibility(GONE);
|
||||
ivPkBegin.setVisibility(GONE);
|
||||
rlRedTeamAddPeople.setOnClickListener(null);
|
||||
rlBlueTeamAddPeople.setOnClickListener(null);
|
||||
tvPkTimer.setOnClickListener(null);
|
||||
llPkScoreBoard.setOnClickListener(this);
|
||||
showTeamAvatars();
|
||||
|
||||
PKTeamInfo blueTeamInfo = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE);
|
||||
if (blueTeamInfo != null) {
|
||||
tvBlueTeamScore.setText(FormatUtils.formatPKValue(blueTeamInfo.getScore()));
|
||||
}
|
||||
PKTeamInfo redTeamInfo = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
if (redTeamInfo != null) {
|
||||
tvRedTeamScore.setText(FormatUtils.formatPKValue(redTeamInfo.getScore()));
|
||||
}
|
||||
|
||||
if (redTeamInfo != null && blueTeamInfo != null) {
|
||||
long totalScore = redTeamInfo.getScore() + blueTeamInfo.getScore();
|
||||
if (totalScore > 0) {
|
||||
int percent = (int) ((float) redTeamInfo.getScore() / (float) totalScore * 100.0f);
|
||||
pbScore.setProgress(percent);
|
||||
} else {
|
||||
pbScore.setProgress(50);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
tvPkTimer.setText(ResUtil.getString(R.string.avroom_widget_pkboardview_01));
|
||||
if (!isTeamHaveMember(PKTeamInfo.TEAM_RED)) {
|
||||
ivAddRedTeamMember.setVisibility(VISIBLE);
|
||||
} else {
|
||||
ivAddRedTeamMember.setVisibility(GONE);
|
||||
}
|
||||
|
||||
if (!isTeamHaveMember(PKTeamInfo.TEAM_BLUE)) {
|
||||
ivAddBlueTeamMember.setVisibility(VISIBLE);
|
||||
} else {
|
||||
ivAddBlueTeamMember.setVisibility(GONE);
|
||||
}
|
||||
|
||||
pbScore.setProgress(50);
|
||||
|
||||
showTeamAvatars();
|
||||
rlRedTeamAddPeople.setOnClickListener(this);
|
||||
rlBlueTeamAddPeople.setOnClickListener(this);
|
||||
if (AvRoomDataManager.get().isManager()) {
|
||||
ivPkBegin.setVisibility(VISIBLE);
|
||||
ivPkBegin.setOnClickListener(this);
|
||||
} else {
|
||||
ivPkBegin.setVisibility(GONE);
|
||||
}
|
||||
llPkScoreBoard.setOnClickListener(null);
|
||||
RoomPkData roomPkData = PkModel.get().getCurPkInfo();
|
||||
if (roomPkData != null &&
|
||||
(roomPkData.getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK || roomPkData.getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK)) {
|
||||
tvBlueTeamScore.setText(FormatUtils.formatPKValue(0));
|
||||
tvRedTeamScore.setText(FormatUtils.formatPKValue(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isTeamHaveMember(int teamId) {
|
||||
for (PKMemberInfo pkMemberInfo : PkModel.get().getPkMemberInfoList()) {
|
||||
if (pkMemberInfo.getTeamId() == teamId) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void showTeamAvatars() {
|
||||
List<PKMemberInfo> pkMemberInfoList = PkModel.get().getPkMemberInfoList();
|
||||
for (CircleImageView civRedAvatar : civRedAvatars) {
|
||||
civRedAvatar.setVisibility(GONE);
|
||||
}
|
||||
for (CircleImageView civBlueAvatar : civBlueAvatars) {
|
||||
civBlueAvatar.setVisibility(GONE);
|
||||
}
|
||||
int redIndex = 0;
|
||||
int blueIndex = 0;
|
||||
for (int i = 0; i < pkMemberInfoList.size(); i++) {
|
||||
PKMemberInfo pkMemberInfo = pkMemberInfoList.get(i);
|
||||
if (pkMemberInfo.getTeamId() == PKTeamInfo.TEAM_RED) {
|
||||
if (redIndex >= civRedAvatars.size()) {
|
||||
break;
|
||||
}
|
||||
civRedAvatars.get(redIndex).setVisibility(VISIBLE);
|
||||
GlideApp.with(this)
|
||||
.load(pkMemberInfo.getUserInfo().getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(civRedAvatars.get(redIndex));
|
||||
redIndex++;
|
||||
} else if (pkMemberInfoList.get(i).getTeamId() == PKTeamInfo.TEAM_BLUE) {
|
||||
if (blueIndex >= civBlueAvatars.size()) {
|
||||
break;
|
||||
}
|
||||
civBlueAvatars.get(blueIndex).setVisibility(VISIBLE);
|
||||
GlideApp.with(this)
|
||||
.load(pkMemberInfo.getUserInfo().getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(civBlueAvatars.get(blueIndex));
|
||||
blueIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKTimeTickEvent(PKTimeTickEvent event) {
|
||||
if (PkModel.get().getCurPkInfo() == null) {
|
||||
return;
|
||||
}
|
||||
long countDownTime = PkModel.get().getCurPkInfo().getCurPkTimeUntilEnd();
|
||||
tvPkTimer.setText(String.format("%1$02d:%2$02d", countDownTime / 60, countDownTime % 60));
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKTimeFinishEvent(PKTimeFinishEvent event) {
|
||||
updateView();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKDataUpdateEvent(PKDataUpdateEvent event) {
|
||||
if (PkModel.get().getCurPkInfo() == null) {
|
||||
return;
|
||||
}
|
||||
if (PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_IN_PK) {
|
||||
PKTeamInfo blueTeamInfo = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE);
|
||||
if (blueTeamInfo != null) {
|
||||
tvBlueTeamScore.setText(FormatUtils.formatPKValue(blueTeamInfo.getScore()));
|
||||
}
|
||||
PKTeamInfo redTeamInfo = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
if (redTeamInfo != null) {
|
||||
tvRedTeamScore.setText(FormatUtils.formatPKValue(redTeamInfo.getScore()));
|
||||
}
|
||||
|
||||
if (redTeamInfo != null && blueTeamInfo != null) {
|
||||
long totalScore = redTeamInfo.getScore() + blueTeamInfo.getScore();
|
||||
if (totalScore > 0) {
|
||||
int percent = (int) ((float) redTeamInfo.getScore() / (float) totalScore * 100.0f);
|
||||
pbScore.setProgress(percent);
|
||||
} else {
|
||||
pbScore.setProgress(50);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
if (onActionListener != null) {
|
||||
onActionListener.onEndPK();
|
||||
}
|
||||
tvBlueTeamScore.setText(FormatUtils.formatPKValue(0));
|
||||
tvRedTeamScore.setText(FormatUtils.formatPKValue(0));
|
||||
}
|
||||
if (PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_TERMINAL_PK_BEFORE_END) {
|
||||
tvBlueTeamScore.setText(FormatUtils.formatPKValue(0));
|
||||
tvRedTeamScore.setText(FormatUtils.formatPKValue(0));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.fl_left:
|
||||
//不是管理员或者房主弹出排麦dialog
|
||||
if (!AvRoomDataManager.get().isManager()) {
|
||||
//已经排麦不操作
|
||||
if (!PkModel.get().getPkMemberInfoList().isEmpty() && AvRoomDataManager.get().myIsInQueue) {
|
||||
// Toast.makeText(getContext(), ResUtil.getString(R.string.avroom_widget_pkboardview_02), Toast.LENGTH_SHORT).show();
|
||||
SingleToastUtil.showToastShort(ResUtil.getString(R.string.avroom_widget_pkboardview_03));
|
||||
return;
|
||||
}
|
||||
if (onActionListener != null) {
|
||||
onActionListener.onShowPKMicQueueDialog();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
//添加红队人员
|
||||
PKSelectPeopleDialog selectRedDialog = new PKSelectPeopleDialog(getContext(), PKTeamInfo.TEAM_RED, PkModel.get().getPkMemberInfoList());
|
||||
selectRedDialog.setOnSelectPeopleListener(new PKSelectPeopleDialog.OnSelectPeopleListener() {
|
||||
@Override
|
||||
public void onSelectPeople(List<PKSelectPeopleDialog.MicEntity> micEntityList) {
|
||||
//更新队伍,麦序,显示头像
|
||||
List<RoomPKInvitedUpMicMember> upMicMemberList = new ArrayList<>();
|
||||
for (PKSelectPeopleDialog.MicEntity micEntity : micEntityList) {
|
||||
if (TextUtils.isEmpty(micEntity.uid)) {
|
||||
continue;
|
||||
}
|
||||
RoomPKInvitedUpMicMember roomPKInvitedUpMicMember = new RoomPKInvitedUpMicMember();
|
||||
if (micEntity.isSelect) {
|
||||
roomPKInvitedUpMicMember.setGroupType(PKTeamInfo.TEAM_RED);
|
||||
} else {
|
||||
if (TextUtils.isEmpty(micEntity.uid)) {
|
||||
roomPKInvitedUpMicMember.setGroupType(PKTeamInfo.TEAM_NONE);
|
||||
} else {
|
||||
int teamId = PkModel.get().getTeamIdInPKMemberList(micEntity.uid);
|
||||
roomPKInvitedUpMicMember.setGroupType(
|
||||
teamId == PKTeamInfo.TEAM_RED ? PKTeamInfo.TEAM_NONE : teamId);
|
||||
}
|
||||
}
|
||||
roomPKInvitedUpMicMember.setUid(micEntity.uid);
|
||||
roomPKInvitedUpMicMember.setNick(micEntity.nick);
|
||||
SparseArray<RoomQueueInfo> micQueue = AvRoomDataManager.get().mMicQueueMemberMap;
|
||||
//设置坑位的位置
|
||||
for (int i = 0; i < micQueue.size(); i++) {
|
||||
int key = micQueue.keyAt(i);
|
||||
RoomQueueInfo roomQueueInfo = micQueue.get(key);
|
||||
if (roomQueueInfo.mChatRoomMember != null
|
||||
&& roomQueueInfo.mChatRoomMember.getAccount().equals(micEntity.uid)) {
|
||||
roomPKInvitedUpMicMember.setPosition(key);
|
||||
}
|
||||
}
|
||||
upMicMemberList.add(roomPKInvitedUpMicMember);
|
||||
}
|
||||
PkModel.get().inviteInTeam(upMicMemberList)
|
||||
.doOnError(throwable -> SingleToastUtil.showToastShort(throwable.getMessage()))
|
||||
.subscribe();
|
||||
|
||||
}
|
||||
});
|
||||
selectRedDialog.show();
|
||||
break;
|
||||
case R.id.fl_right:
|
||||
//不是管理员或者房主弹出排麦dialog
|
||||
if (!AvRoomDataManager.get().isManager()) {
|
||||
//已经排麦不操作
|
||||
if (!PkModel.get().getPkMemberInfoList().isEmpty() && AvRoomDataManager.get().myIsInQueue) {
|
||||
return;
|
||||
}
|
||||
if (onActionListener != null) {
|
||||
onActionListener.onShowPKMicQueueDialog();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
//添加蓝队人员
|
||||
PKSelectPeopleDialog selectBlueDialog = new PKSelectPeopleDialog(getContext(), PKTeamInfo.TEAM_BLUE, PkModel.get().getPkMemberInfoList());
|
||||
selectBlueDialog.setOnSelectPeopleListener(micEntityList -> {
|
||||
//更新队伍,麦序,显示头像
|
||||
List<RoomPKInvitedUpMicMember> upMicMemberList = new ArrayList<>();
|
||||
for (PKSelectPeopleDialog.MicEntity micEntity : micEntityList) {
|
||||
if (TextUtils.isEmpty(micEntity.uid)) {
|
||||
continue;
|
||||
}
|
||||
RoomPKInvitedUpMicMember roomPKInvitedUpMicMember = new RoomPKInvitedUpMicMember();
|
||||
if (micEntity.isSelect) {
|
||||
roomPKInvitedUpMicMember.setGroupType(PKTeamInfo.TEAM_BLUE);
|
||||
} else {
|
||||
int teamId = PkModel.get().getTeamIdInPKMemberList(micEntity.uid);
|
||||
roomPKInvitedUpMicMember.setGroupType(
|
||||
teamId == PKTeamInfo.TEAM_BLUE ? PKTeamInfo.TEAM_NONE : teamId);
|
||||
}
|
||||
roomPKInvitedUpMicMember.setUid(micEntity.uid);
|
||||
roomPKInvitedUpMicMember.setNick(micEntity.nick);
|
||||
SparseArray<RoomQueueInfo> micQueue = AvRoomDataManager.get().mMicQueueMemberMap;
|
||||
//设置坑位的位置
|
||||
for (int i = 0; i < micQueue.size(); i++) {
|
||||
int key = micQueue.keyAt(i);
|
||||
RoomQueueInfo roomQueueInfo = micQueue.get(key);
|
||||
if (roomQueueInfo.mChatRoomMember != null &&
|
||||
roomQueueInfo.mChatRoomMember.getAccount().equals(micEntity.uid)) {
|
||||
roomPKInvitedUpMicMember.setPosition(key);
|
||||
}
|
||||
}
|
||||
upMicMemberList.add(roomPKInvitedUpMicMember);
|
||||
}
|
||||
PkModel.get().inviteInTeam(upMicMemberList)
|
||||
.doOnError(throwable -> SingleToastUtil.showToastShort(throwable.getMessage()))
|
||||
.subscribe();
|
||||
});
|
||||
selectBlueDialog.show();
|
||||
break;
|
||||
case R.id.iv_pk_begin:
|
||||
// 开始PK 倒计时
|
||||
if (onActionListener != null) {
|
||||
onActionListener.onBeginPK();
|
||||
}
|
||||
break;
|
||||
case R.id.root_view:
|
||||
//pk中点击pk 面板
|
||||
if (PkModel.get().isFighting()) {
|
||||
PKScoreBoardDialog pkScoreBoardDialog = new PKScoreBoardDialog(getContext());
|
||||
pkScoreBoardDialog.show();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private OnActionListener onActionListener;
|
||||
|
||||
public void setOnActionListener(OnActionListener onActionListener) {
|
||||
this.onActionListener = onActionListener;
|
||||
}
|
||||
|
||||
public interface OnActionListener {
|
||||
void onBeginPK();
|
||||
|
||||
void onEndPK();
|
||||
|
||||
void onShowPKMicQueueDialog();
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,46 @@
|
||||
package com.chwl.app.avroom.widget
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.FrameLayout
|
||||
import androidx.core.view.isInvisible
|
||||
import androidx.core.view.isVisible
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.databinding.LayoutRoomTeamPkUserListViewBinding
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.core.room.pk.bean.PKMemberInfo
|
||||
|
||||
class TeamPKUserListView @JvmOverloads constructor(
|
||||
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
|
||||
) : FrameLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
private val binding = LayoutRoomTeamPkUserListViewBinding.inflate(LayoutInflater.from(context))
|
||||
private val ivAvatars = arrayOf(binding.ivAvatar1, binding.ivAvatar2, binding.ivAvatar3)
|
||||
|
||||
init {
|
||||
addView(binding.root)
|
||||
}
|
||||
|
||||
fun showBlueStyle() {
|
||||
binding.ivAvatarSeat1.setImageResource(R.drawable.room_team_pk_bg_seat_blue)
|
||||
binding.ivAvatarSeat2.setImageResource(R.drawable.room_team_pk_bg_seat_blue)
|
||||
binding.ivAvatarSeat3.setImageResource(R.drawable.room_team_pk_bg_seat_blue)
|
||||
}
|
||||
|
||||
fun updateData(data: List<String?>?) {
|
||||
for (i in ivAvatars.indices) {
|
||||
val item = data?.getOrNull(i)
|
||||
if (item.isNullOrEmpty()) {
|
||||
ivAvatars[i].isInvisible = true
|
||||
} else {
|
||||
ivAvatars[i].isVisible = true
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
item,
|
||||
ivAvatars[i], R.drawable.default_avatar
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -7,9 +7,14 @@ import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.withResumed
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import com.trello.rxlifecycle3.components.support.RxDialogFragment
|
||||
import kotlinx.coroutines.launch
|
||||
import java.lang.reflect.ParameterizedType
|
||||
|
||||
abstract class BaseDialog<T : ViewBinding> : RxDialogFragment() {
|
||||
@@ -59,6 +64,46 @@ abstract class BaseDialog<T : ViewBinding> : RxDialogFragment() {
|
||||
}
|
||||
}
|
||||
|
||||
private var safeShowTask: ((FragmentManager, String?) -> Unit)? = null
|
||||
|
||||
fun safeShow(fragmentManager: FragmentManager, lifecycleOwner: LifecycleOwner, tag: String? = null) {
|
||||
lifecycleOwner.lifecycleScope.launch {
|
||||
safeShowTask = { fm, tag ->
|
||||
try {
|
||||
show(fm, tag)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
lifecycleOwner.withResumed {
|
||||
safeShowTask?.invoke(fragmentManager, tag)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun safeDismiss() {
|
||||
try {
|
||||
dismissAllowingStateLoss()
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
safeShowTask = null
|
||||
}
|
||||
|
||||
override fun dismiss() {
|
||||
super.dismiss()
|
||||
safeShowTask = null
|
||||
}
|
||||
|
||||
override fun dismissAllowingStateLoss() {
|
||||
super.dismissAllowingStateLoss()
|
||||
safeShowTask = null
|
||||
}
|
||||
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
onDismissListener?.invoke()
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_bg_action_left.webp
Normal file
After Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 1.2 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_bg_action_right.webp
Normal file
After Width: | Height: | Size: 562 B |
Before Width: | Height: | Size: 128 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_bg_full.webp
Normal file
After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 1.1 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_bg_pb_blue.webp
Normal file
After Width: | Height: | Size: 652 B |
Before Width: | Height: | Size: 1.2 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_bg_pb_red.webp
Normal file
After Width: | Height: | Size: 650 B |
Before Width: | Height: | Size: 116 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_bg_small.webp
Normal file
After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 52 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_bg_top.webp
Normal file
After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 428 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_force_result_bg.webp
Normal file
After Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.9 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_details.webp
Normal file
After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 3.8 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_help.webp
Normal file
After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 12 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_hot.webp
Normal file
After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 5.9 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_pk.webp
Normal file
After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 6.5 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_seat_charm.webp
Normal file
After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 6.2 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_seat_wealth.webp
Normal file
After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_text_charm.webp
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_text_wealth.webp
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 14 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_ic_vs.webp
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 592 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_result_bg.webp
Normal file
After Width: | Height: | Size: 296 KiB |
Before Width: | Height: | Size: 120 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_result_draw.webp
Normal file
After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 272 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_result_fail.webp
Normal file
After Width: | Height: | Size: 165 KiB |
Before Width: | Height: | Size: 58 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_result_vs.webp
Normal file
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 272 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_pk_result_win.webp
Normal file
After Width: | Height: | Size: 159 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_bg.webp
Normal file
After Width: | Height: | Size: 313 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_bg_button.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_bg_gift_blue.webp
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_bg_gift_red.webp
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_bg_no_manage.webp
Normal file
After Width: | Height: | Size: 312 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_bg_seat_blue.webp
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_bg_seat_red.webp
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_ic_close.webp
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_ic_time.webp
Normal file
After Width: | Height: | Size: 830 B |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_ic_top.webp
Normal file
After Width: | Height: | Size: 233 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_icon.webp
Normal file
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 31 KiB |
BIN
app/src/main/res/drawable-xxhdpi/room_team_pk_result_bg.9.png
Normal file
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 218 B |
After Width: | Height: | Size: 446 B |
After Width: | Height: | Size: 161 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 348 KiB |
6
app/src/main/res/drawable/shape_66000000_14dp.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<solid android:color="#66000000" />
|
||||
<corners android:radius="@dimen/dp_14" />
|
||||
</shape>
|
@@ -1,221 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="true"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="98dp"
|
||||
android:background="@drawable/pk_result_bg"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_pk_member"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="35dp"
|
||||
android:layout_marginTop="38dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pk_participant"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_list"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="35dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_score"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="35dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pk_score"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_score"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_FD4D72"
|
||||
android:textSize="14sp"
|
||||
tools:text="123456" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_guardian_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="35dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pk_guardian"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_guardian_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_FD4D72"
|
||||
android:textSize="14sp"
|
||||
tools:text="@string/layout_dialog_pk_result_01" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_guardian_value"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="35dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pk_guardian_score"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_guardian_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_FD4D72"
|
||||
android:textSize="14sp"
|
||||
tools:text="123456" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_result_tie"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginBottom="30dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:text="@string/pk_result_tie" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="35dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pk_score"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tie_score"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_FD4D72"
|
||||
android:textSize="14sp"
|
||||
tools:text="123456" />
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_team_status"
|
||||
android:layout_width="231dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:background="@mipmap/bg_pk_result_team"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_FD4D72"
|
||||
android:textSize="16sp"
|
||||
tools:text="@string/layout_dialog_pk_result_02" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_team_lose"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textColor="@color/white_transparent_50"
|
||||
android:textSize="13sp"
|
||||
android:text="@string/pk_tip_do_not_give_up"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_see_other_team"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="12dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/color_59B9FB"
|
||||
android:textSize="14sp"
|
||||
tools:text="@string/layout_dialog_pk_result_03" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="18dp" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_result_bottom"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-8dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@mipmap/pk_result_victory_bottom" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_result_top"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/pk_result_victory_top" />
|
||||
|
||||
|
||||
</FrameLayout>
|
@@ -1,209 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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="260dp"
|
||||
android:layout_height="168dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@mipmap/bg_pk_score_board"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_pk_timer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#602A06"
|
||||
android:textSize="10dp"
|
||||
android:typeface="monospace"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="00:00" />
|
||||
|
||||
<com.chwl.app.avroom.widget.PKProgressBar
|
||||
android:id="@+id/pb_score"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:layout_marginBottom="23dp"
|
||||
android:max="100"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:progress="50"
|
||||
android:progressDrawable="@drawable/pk_score_pb"
|
||||
android:thumb="@drawable/ic_pb_indicator"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_restart"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_red_team_score"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:gravity="center_horizontal"
|
||||
android:includeFontPadding="false"
|
||||
android:text="0"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintStart_toStartOf="@id/pb_score"
|
||||
app:layout_constraintTop_toBottomOf="@id/pb_score" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_blue_team_score"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:gravity="center_horizontal"
|
||||
android:includeFontPadding="false"
|
||||
android:text="0"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintEnd_toEndOf="@id/pb_score"
|
||||
app:layout_constraintTop_toBottomOf="@id/pb_score" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_red"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
app:layout_constraintEnd_toStartOf="@id/tv_pk_vote_mode"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintBottom_toTopOf="@id/pb_score"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.65">
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_red_avatar_1"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:src="@mipmap/ic_red_seat" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_red_avatar_2"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:src="@mipmap/ic_red_seat" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_red_avatar_3"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:src="@mipmap/ic_red_seat" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_red_avatar_4"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_marginStart="30dp"
|
||||
android:src="@mipmap/ic_red_seat" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_pk_vote_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_79674E"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_pk_text"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/fl_red"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
tools:text="@string/vote_type_gift_member" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_pk_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="3dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="PK"
|
||||
android:textColor="@color/color_79674E"
|
||||
android:textSize="15dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/fl_blue"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_pk_vote_mode" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_blue"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_pk_vote_mode"
|
||||
app:layout_constraintBottom_toTopOf="@id/pb_score"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.65">
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_blue_avatar_1"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_gravity="end"
|
||||
android:src="@mipmap/ic_blue_seat" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_blue_avatar_2"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:src="@mipmap/ic_blue_seat" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_blue_avatar_3"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:src="@mipmap/ic_blue_seat" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_blue_avatar_4"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:src="@mipmap/ic_blue_seat" />
|
||||
</FrameLayout>
|
||||
|
||||
<com.coorchice.library.SuperTextView
|
||||
android:id="@+id/tv_restart"
|
||||
android:layout_width="90dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginTop="13dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/pk_restart"
|
||||
android:textColor="@color/color_602A06"
|
||||
android:textSize="12dp"
|
||||
android:visibility="gone"
|
||||
app:corner="12dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:shaderEnable="true"
|
||||
app:shaderEndColor="#FFDAA8"
|
||||
app:shaderMode="leftToRight"
|
||||
app:shaderStartColor="#FFBD64"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tv_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/bg_pk_score_board_close"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -260,6 +260,17 @@
|
||||
android:onClick="@{click}"
|
||||
android:src="@drawable/room_ic_game" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_team_pk"
|
||||
android:layout_width="@dimen/dp_38"
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:layout_above="@id/iv_game"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/dp_11"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:src="@drawable/room_team_pk_icon"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -317,16 +328,6 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.chwl.app.avroom.widget.PKBoardView
|
||||
android:id="@+id/layout_pk_board"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/micro_view"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:visibility="gone"
|
||||
tools:contentDescription="@string/layout_fragment_av_room_game_010" />
|
||||
|
||||
<com.chwl.app.avroom.anotherroompk.RoomPKBoardView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
@@ -1,202 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/root_view"
|
||||
android:layout_width="260dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
tools:contentDescription="@string/layout_layout_pk_board_view_01">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:background="@mipmap/bg_pk_board"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_left"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginTop="14dp"
|
||||
android:gravity="start"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_red_team_member_1"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
app:cborder_color="@color/color_FFA572"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_red_team_member_2"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginStart="6dp"
|
||||
app:cborder_color="@color/color_FFA572"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_red_team_member_3"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginStart="12dp"
|
||||
app:cborder_color="@color/color_FFA572"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_red_team_member_4"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginStart="18dp"
|
||||
app:cborder_color="@color/color_FFA572"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_add_red_team_member"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/bg_pk_board_left" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_red_team_score"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:lines="1"
|
||||
android:text="0"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintEnd_toEndOf="@id/fl_left"
|
||||
app:layout_constraintStart_toStartOf="@id/fl_left"
|
||||
app:layout_constraintTop_toBottomOf="@id/fl_left" />
|
||||
|
||||
<com.chwl.app.avroom.widget.PKProgressBar
|
||||
android:id="@+id/pb_score"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="18dp"
|
||||
android:max="100"
|
||||
android:progress="50"
|
||||
android:progressDrawable="@drawable/pk_board_pb"
|
||||
app:layout_constraintBottom_toBottomOf="@id/fl_left"
|
||||
app:layout_constraintEnd_toStartOf="@id/fl_right"
|
||||
app:layout_constraintStart_toEndOf="@id/fl_left"
|
||||
app:layout_constraintTop_toTopOf="@id/fl_left" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_right"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="14dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:gravity="start"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_blue_team_member_1"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
app:cborder_color="@color/color_3ECAFC"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_blue_team_member_2"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginStart="6dp"
|
||||
app:cborder_color="@color/color_3ECAFC"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_blue_team_member_3"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginStart="12dp"
|
||||
app:cborder_color="@color/color_3ECAFC"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/civ_blue_team_member_4"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginStart="18dp"
|
||||
app:cborder_color="@color/color_3ECAFC"
|
||||
app:cborder_width="1dp"
|
||||
tools:src="@drawable/default_avatar"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_add_blue_team_member"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:src="@mipmap/bg_pk_board_right" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_blue_team_score"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:lines="1"
|
||||
android:text="0"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintEnd_toEndOf="@id/fl_right"
|
||||
app:layout_constraintStart_toStartOf="@id/fl_right"
|
||||
app:layout_constraintTop_toBottomOf="@id/fl_right" />
|
||||
|
||||
<TextView
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="0px"
|
||||
android:id="@+id/tv_pk_timer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="13dp"
|
||||
android:background="@drawable/bg_pk_board_status"
|
||||
android:gravity="center"
|
||||
android:text="@string/layout_layout_pk_board_view_02"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="#602A06"
|
||||
android:textSize="10dp"
|
||||
android:typeface="monospace"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_pk_begin"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:gravity="center"
|
||||
android:src="@drawable/bg_pk_board_begin"
|
||||
app:layout_constraintBottom_toBottomOf="@id/view_bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/view_bg" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -0,0 +1,66 @@
|
||||
<?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"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="@dimen/dp_33"
|
||||
android:layout_height="@dimen/dp_33">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_seat_1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@drawable/room_team_pk_bg_seat_red" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/iv_avatar_1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/dp_2"
|
||||
app:shapeAppearance="@style/shape_circle" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="@dimen/dp_33"
|
||||
android:layout_height="@dimen/dp_33"
|
||||
android:layout_marginStart="@dimen/dp_5">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_seat_2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@drawable/room_team_pk_bg_seat_red" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/iv_avatar_2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/dp_2"
|
||||
app:shapeAppearance="@style/shape_circle" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="@dimen/dp_33"
|
||||
android:layout_height="@dimen/dp_33"
|
||||
android:layout_marginStart="@dimen/dp_5">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_seat_3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@drawable/room_team_pk_bg_seat_red" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/iv_avatar_3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/dp_2"
|
||||
app:shapeAppearance="@style/shape_circle" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
266
app/src/main/res/layout/room_team_pk_dialog.xml
Normal file
@@ -0,0 +1,266 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/layout_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/layout_content"
|
||||
android:layout_width="@dimen/dp_309"
|
||||
android:layout_height="0dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_59"
|
||||
android:clickable="true"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintDimensionRatio="309:379"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.chwl.app.view.AutoMirroredImageView
|
||||
android:id="@+id/iv_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/room_team_pk_bg" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_118"
|
||||
android:layout_height="@dimen/dp_93"
|
||||
android:layout_marginTop="@dimen/dp_76"
|
||||
android:src="@drawable/room_pk_result_vs"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_close"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginEnd="@dimen/dp_8"
|
||||
android:src="@drawable/room_team_pk_ic_close"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_border_red"
|
||||
android:layout_width="@dimen/dp_68"
|
||||
android:layout_height="@dimen/dp_68"
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:layout_marginTop="@dimen/dp_83"
|
||||
android:src="@drawable/room_team_pk_bg_seat_red"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/iv_avatar_red"
|
||||
android:layout_width="@dimen/dp_62"
|
||||
android:layout_height="@dimen/dp_62"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_avatar_border_red"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_avatar_border_red"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_avatar_border_red"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_avatar_border_red"
|
||||
app:shapeAppearance="@style/shape_circle" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_border_blue"
|
||||
android:layout_width="@dimen/dp_68"
|
||||
android:layout_height="@dimen/dp_68"
|
||||
android:layout_marginEnd="@dimen/dp_12"
|
||||
android:src="@drawable/room_pk_result_avatar_border_blue"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_avatar_border_red" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/iv_avatar_blue"
|
||||
android:layout_width="@dimen/dp_62"
|
||||
android:layout_height="@dimen/dp_62"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_avatar_border_blue"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_avatar_border_blue"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_avatar_border_blue"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_avatar_border_blue"
|
||||
app:shapeAppearance="@style/shape_circle" />
|
||||
|
||||
<com.chwl.app.avroom.widget.TeamPKUserListView
|
||||
android:id="@+id/user_list_red"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
android:layout_marginTop="@dimen/dp_186"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.chwl.app.avroom.widget.TeamPKUserListView
|
||||
android:id="@+id/user_list_blue"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_5"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/user_list_red" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layout_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_29"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:background="@drawable/shape_66000000_14dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="@dimen/dp_12"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/user_list_red">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_13"
|
||||
android:layout_height="@dimen/dp_13"
|
||||
android:src="@drawable/room_team_pk_ic_time" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:includeFontPadding="false"
|
||||
android:text="@string/countdown"
|
||||
android:textColor="#99FFFFFF"
|
||||
android:textSize="@dimen/dp_11" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
android:includeFontPadding="false"
|
||||
android:text="00:00"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/dp_15"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/pb_score"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="@dimen/dp_215"
|
||||
android:layout_height="@dimen/dp_13"
|
||||
android:max="100"
|
||||
android:progress="50"
|
||||
android:progressDrawable="@drawable/room_room_pk_bg_board_pb"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_gift_red"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_gift_red" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_score_red"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_3"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:maxLines="1"
|
||||
android:text="0"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_12"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_gift_red"
|
||||
app:layout_constraintTop_toBottomOf="@id/pb_score" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_score_blue"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_3"
|
||||
android:maxLines="1"
|
||||
android:text="0"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_12"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_score_red"
|
||||
app:layout_constraintEnd_toStartOf="@id/iv_gift_blue"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_score_red" />
|
||||
|
||||
<com.chwl.app.view.AutoMirroredImageView
|
||||
android:id="@+id/iv_gift_red"
|
||||
android:layout_width="@dimen/dp_47"
|
||||
android:layout_height="@dimen/dp_56"
|
||||
android:layout_marginStart="@dimen/dp_8"
|
||||
android:layout_marginTop="@dimen/dp_28"
|
||||
android:src="@drawable/room_team_pk_bg_gift_red"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/user_list_red" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gift_red"
|
||||
android:layout_width="@dimen/dp_47"
|
||||
android:layout_height="@dimen/dp_47"
|
||||
android:gravity="center"
|
||||
android:text="Gift"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_15"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_gift_red"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_gift_red"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_gift_red" />
|
||||
|
||||
<com.chwl.app.view.AutoMirroredImageView
|
||||
android:id="@+id/iv_gift_blue"
|
||||
android:layout_width="@dimen/dp_47"
|
||||
android:layout_height="@dimen/dp_56"
|
||||
android:layout_marginEnd="@dimen/dp_8"
|
||||
android:src="@drawable/room_team_pk_bg_gift_blue"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_gift_red" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gift_blue"
|
||||
android:layout_width="@dimen/dp_47"
|
||||
android:layout_height="@dimen/dp_47"
|
||||
android:gravity="center"
|
||||
android:text="Gift"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_15"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_gift_blue"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_gift_blue"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_gift_blue" />
|
||||
|
||||
<com.opensource.svgaplayer.SVGAImageView
|
||||
android:id="@+id/svga_hot"
|
||||
android:layout_width="@dimen/dp_24"
|
||||
android:layout_height="@dimen/dp_35"
|
||||
android:src="@drawable/room_pk_ic_hot"
|
||||
app:layout_constraintBottom_toBottomOf="@id/pb_score"
|
||||
app:layout_constraintEnd_toEndOf="@id/pb_score"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintStart_toStartOf="@id/pb_score"
|
||||
app:layout_constraintTop_toTopOf="@id/pb_score" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_next"
|
||||
android:layout_width="@dimen/dp_144"
|
||||
android:layout_height="@dimen/dp_32"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:background="@drawable/room_team_pk_bg_button"
|
||||
android:gravity="center"
|
||||
android:text="@string/start_pk"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_15"
|
||||
app:autoSizeMaxTextSize="@dimen/dp_15"
|
||||
app:autoSizeMinTextSize="@dimen/dp_8"
|
||||
app:autoSizeStepGranularity="1px"
|
||||
app:autoSizeTextType="uniform"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/iv_gift_red" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_status"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_125"
|
||||
android:src="@drawable/room_team_pk_ic_top"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
197
app/src/main/res/layout/room_team_pk_result_dialog.xml
Normal file
@@ -0,0 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/layout_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/layout_content"
|
||||
android:layout_width="@dimen/dp_299"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_37"
|
||||
android:clickable="true"
|
||||
android:clipChildren="false"
|
||||
android:background="@drawable/room_team_pk_result_bg"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.chwl.app.view.AutoMirroredImageView
|
||||
android:id="@+id/iv_bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_55"
|
||||
android:layout_marginTop="@dimen/dp_90"
|
||||
android:clipChildren="false"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_score_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_18"
|
||||
android:layout_marginTop="@dimen/dp_19"
|
||||
android:includeFontPadding="false"
|
||||
android:text="@string/pk_score"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/dp_14"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/recycler_view" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_score"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:gravity="center_vertical"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="#FF396F"
|
||||
android:textSize="@dimen/dp_14"
|
||||
app:autoSizeMaxTextSize="@dimen/dp_14"
|
||||
app:autoSizeMinTextSize="@dimen/dp_8"
|
||||
app:autoSizeStepGranularity="1px"
|
||||
app:autoSizeTextType="uniform"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_score_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_score_title"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_score_title"
|
||||
tools:text="000" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_guardian_name_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:includeFontPadding="false"
|
||||
android:text="@string/pk_guardian"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/dp_14"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_score_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_score_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_guardian_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:gravity="center_vertical"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="#FF396F"
|
||||
android:textSize="@dimen/dp_14"
|
||||
app:autoSizeMaxTextSize="@dimen/dp_14"
|
||||
app:autoSizeMinTextSize="@dimen/dp_8"
|
||||
app:autoSizeStepGranularity="1px"
|
||||
app:autoSizeTextType="uniform"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_guardian_name_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_guardian_name_title"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_guardian_name_title"
|
||||
tools:text="000" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_guardian_value_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:includeFontPadding="false"
|
||||
android:text="@string/pk_guardian_score"
|
||||
android:textColor="@color/color_FFFFFF"
|
||||
android:textSize="@dimen/dp_14"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_score_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_guardian_name_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_guardian_value"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:gravity="center_vertical"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="#FF396F"
|
||||
android:textSize="@dimen/dp_14"
|
||||
app:autoSizeMaxTextSize="@dimen/dp_14"
|
||||
app:autoSizeMinTextSize="@dimen/dp_8"
|
||||
app:autoSizeStepGranularity="1px"
|
||||
app:autoSizeTextType="uniform"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_guardian_value_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_guardian_value_title"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_guardian_value_title"
|
||||
tools:text="000" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_team_status"
|
||||
android:layout_width="@dimen/dp_191"
|
||||
android:layout_height="@dimen/dp_18"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:background="@drawable/room_team_pk_result_team_name_bg"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="#FF4B81"
|
||||
android:textSize="@dimen/dp_13"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_guardian_value_title"
|
||||
tools:text="@string/layout_dialog_pk_result_02" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_see_other_team"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:layout_marginBottom="@dimen/dp_15"
|
||||
android:drawableEnd="@drawable/room_team_pk_result_ic_arrow"
|
||||
android:drawablePadding="@dimen/dp_4"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="#99FFFFFF"
|
||||
android:textSize="@dimen/dp_11"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_team_status"
|
||||
tools:text="@string/layout_dialog_pk_result_03" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_guardian_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="tv_guardian_name_title,tv_guardian_name" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_guardian_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="tv_guardian_value_title,tv_guardian_value" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_score"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="tv_score,tv_score_title" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_result_top"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_125"
|
||||
android:src="@drawable/room_team_pk_result_top_win"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
29
app/src/main/res/layout/room_team_pk_result_item.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="@dimen/dp_55"
|
||||
android:layout_height="@dimen/dp_55"
|
||||
android:layout_marginHorizontal="@dimen/dp_8"
|
||||
android:clipChildren="false">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar_bg"
|
||||
android:layout_width="@dimen/dp_91"
|
||||
android:layout_height="@dimen/dp_91"
|
||||
android:src="@drawable/room_team_pk_result_avatar_bg_win"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_avatar"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_avatar"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_avatar"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_avatar" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/iv_avatar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="@dimen/dp_0_5"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:shapeAppearance="@style/shape_circle"
|
||||
app:strokeColor="@color/white"
|
||||
app:strokeWidth="@dimen/dp_1" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -1402,15 +1402,15 @@
|
||||
<string name="avroom_dialog_pkresultdialog_02">· متوازن ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_03">لا شيء</string>
|
||||
<string name="avroom_dialog_pkresultdialog_04">· سجل فريق الأحمر ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_05">عرض سجل فريق الأزرق></string>
|
||||
<string name="avroom_dialog_pkresultdialog_05">عرض سجل فريق الأزرق</string>
|
||||
<string name="avroom_dialog_pkresultdialog_06">· لقد فزت ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_07">عرض سجل الخصم></string>
|
||||
<string name="avroom_dialog_pkresultdialog_08">عرض سجلي></string>
|
||||
<string name="avroom_dialog_pkresultdialog_07">عرض سجل الخصم</string>
|
||||
<string name="avroom_dialog_pkresultdialog_08">عرض سجلي</string>
|
||||
<string name="avroom_dialog_pkresultdialog_09">· سجل فريق الأزرق ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_010">عرض سجل فريق الأحمر></string>
|
||||
<string name="avroom_dialog_pkresultdialog_010">عرض سجل فريق الأحمر</string>
|
||||
<string name="avroom_dialog_pkresultdialog_011">· لقد فزت ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_012">عرض سجل الخصم></string>
|
||||
<string name="avroom_dialog_pkresultdialog_013">عرض سجلي></string>
|
||||
<string name="avroom_dialog_pkresultdialog_012">عرض سجل الخصم</string>
|
||||
<string name="avroom_dialog_pkresultdialog_013">عرض سجلي</string>
|
||||
<string name="avroom_dialog_pkresultdialog_014">· سجل الفريق غير المعروف ·</string>
|
||||
<string name="avroom_dialog_pkscoreboarddialog_01">انتهت فترة الـ PK</string>
|
||||
<string name="avroom_dialog_pkscoreboarddialog_02">انتهى الـ PK</string>
|
||||
@@ -5293,4 +5293,7 @@
|
||||
|
||||
<string name="wallet">المحفظة</string>
|
||||
<string name="please_enter">يرجى إدخال …</string>
|
||||
|
||||
<string name="countdown">倒計時</string>
|
||||
<string name="start_pk">開始PK</string>
|
||||
</resources>
|
@@ -1420,15 +1420,15 @@
|
||||
<string name="avroom_dialog_pkresultdialog_02">·勢均力敵·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_03">無</string>
|
||||
<string name="avroom_dialog_pkresultdialog_04">·紅隊戰績·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_05">查看藍隊戰績></string>
|
||||
<string name="avroom_dialog_pkresultdialog_05">查看藍隊戰績</string>
|
||||
<string name="avroom_dialog_pkresultdialog_06">·您勝利了·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_07">查看對方戰績></string>
|
||||
<string name="avroom_dialog_pkresultdialog_08">查看我的戰績></string>
|
||||
<string name="avroom_dialog_pkresultdialog_07">查看對方戰績</string>
|
||||
<string name="avroom_dialog_pkresultdialog_08">查看我的戰績</string>
|
||||
<string name="avroom_dialog_pkresultdialog_09">·藍隊戰績·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_010">查看紅隊戰績></string>
|
||||
<string name="avroom_dialog_pkresultdialog_010">查看紅隊戰績</string>
|
||||
<string name="avroom_dialog_pkresultdialog_011">·您勝利了·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_012">查看對方戰績></string>
|
||||
<string name="avroom_dialog_pkresultdialog_013">查看我的戰績></string>
|
||||
<string name="avroom_dialog_pkresultdialog_012">查看對方戰績</string>
|
||||
<string name="avroom_dialog_pkresultdialog_013">查看我的戰績</string>
|
||||
<string name="avroom_dialog_pkresultdialog_014">·未知隊戰績·</string>
|
||||
<string name="avroom_dialog_pkscoreboarddialog_01">PK已經不在</string>
|
||||
<string name="avroom_dialog_pkscoreboarddialog_02">PK已經結束</string>
|
||||
@@ -5236,4 +5236,6 @@
|
||||
<string name="wallet">錢包</string>
|
||||
<string name="please_enter">請輸入..</string>
|
||||
|
||||
<string name="countdown">倒計時</string>
|
||||
<string name="start_pk">開始PK</string>
|
||||
</resources>
|
@@ -734,4 +734,7 @@
|
||||
<color name="color_7E8373">#7E8373</color>
|
||||
<color name="color_8E8E8E">#8E8E8E</color>
|
||||
<color name="color_AD89FF">#AD89FF</color>
|
||||
<color name="color_73B8FF">#73B8FF</color>
|
||||
<color name="color_FF396F">#FF396F</color>
|
||||
<color name="color_FF4B81">#FF4B81</color>
|
||||
</resources>
|
||||
|
@@ -1436,15 +1436,15 @@
|
||||
<string name="avroom_dialog_pkresultdialog_02">· Balanced ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_03">None</string>
|
||||
<string name="avroom_dialog_pkresultdialog_04">· Red Team\'s Record ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_05">View Blue Team\'s Record></string>
|
||||
<string name="avroom_dialog_pkresultdialog_05">View Blue Team\'s Record</string>
|
||||
<string name="avroom_dialog_pkresultdialog_06">· You won ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_07">View Opponent\'s Record></string>
|
||||
<string name="avroom_dialog_pkresultdialog_08">View My Record></string>
|
||||
<string name="avroom_dialog_pkresultdialog_07">View Opponent\'s Record</string>
|
||||
<string name="avroom_dialog_pkresultdialog_08">View My Record</string>
|
||||
<string name="avroom_dialog_pkresultdialog_09">· Blue Team\'s Record ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_010">View Red Team\'s Record></string>
|
||||
<string name="avroom_dialog_pkresultdialog_010">View Red Team\'s Record</string>
|
||||
<string name="avroom_dialog_pkresultdialog_011">· You won ·</string>
|
||||
<string name="avroom_dialog_pkresultdialog_012">View Opponent\'s Record></string>
|
||||
<string name="avroom_dialog_pkresultdialog_013">View My Record></string>
|
||||
<string name="avroom_dialog_pkresultdialog_012">View Opponent\'s Record</string>
|
||||
<string name="avroom_dialog_pkresultdialog_013">View My Record</string>
|
||||
<string name="avroom_dialog_pkresultdialog_014">· Unknown Team\'s Record ·</string>
|
||||
<string name="avroom_dialog_pkscoreboarddialog_01">PK is no longer available</string>
|
||||
<string name="avroom_dialog_pkscoreboarddialog_02">PK has ended</string>
|
||||
@@ -5274,6 +5274,9 @@ You cannot join again within 24 hours after leaving</string>
|
||||
|
||||
<string name="wallet">Wallet</string>
|
||||
<string name="please_enter">Please enter...</string>
|
||||
|
||||
<string name="countdown">倒計時</string>
|
||||
<string name="start_pk">開始PK</string>
|
||||
</resources>
|
||||
|
||||
|
||||
|