全服飘屏UI修改

This commit is contained in:
huangjian
2023-02-28 22:21:58 +08:00
parent ac23f1600c
commit 30c8e77d40
31 changed files with 457 additions and 332 deletions

Binary file not shown.

View File

@@ -197,8 +197,7 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
/*********************************显示全服礼物***************************************/ /*********************************显示全服礼物***************************************/
private GiftBroadcastObserver giftObserver; private GiftBroadcastObserver giftObserver;
private Dialog giftDialog;
private LinkedList<AllServiceGiftProtocol.DataBean> giftList;
private boolean isResume = true; private boolean isResume = true;
@Nullable @Nullable
private SingleRoomTipDialog singleRoomTipDialog; private SingleRoomTipDialog singleRoomTipDialog;
@@ -494,9 +493,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
super.onResume(); super.onResume();
AvRoomDataManager.get().roomNoDestory = true; AvRoomDataManager.get().roomNoDestory = true;
registerGiftBroadcastMessage(true); registerGiftBroadcastMessage(true);
if (giftList != null) {
giftList.clear();
}
isResume = true; isResume = true;
} }
@@ -894,12 +890,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
monsterDialog.dismiss(); monsterDialog.dismiss();
monsterDialog = null; monsterDialog = null;
} }
if (giftDialog != null && giftDialog.isShowing()) {
giftDialog.setOnDismissListener(null);
giftDialog.dismiss();
giftDialog = null;
}
if (limitEnterRoomHelper != null) { if (limitEnterRoomHelper != null) {
limitEnterRoomHelper.release(); limitEnterRoomHelper.release();
} }
@@ -1180,30 +1170,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
if (baseProtocol == null) return; if (baseProtocol == null) return;
switch (baseProtocol.getFirst()) { switch (baseProtocol.getFirst()) {
case CUSTOM_MSG_HEADER_TYPE_GIFT:
if (!isValid()) return;
if (giftList == null) {
giftList = new LinkedList<>();
}
int second2 = baseProtocol.getSecond();
AllServiceGiftProtocol.DataBean data = JSON.parseObject(String.valueOf(baseProtocol.getData()), AllServiceGiftProtocol.DataBean.class);
if (data == null || data.getGiftUrl() == null || data.isCeremonyGift())
return;
giftList.add(data);
if (second2 == CUSTOM_MSG_ALL_SERVICE_GIFT) {
if (giftDialog != null && giftDialog.isShowing()) {
// 如果当前以及有礼物弹窗在展示,则需要等到他 dismiss 后再显示下一个
AllServiceGiftProtocol.DataBean dataBean = giftList.peekFirst();
if (dataBean != null) {
return;
} else {
giftDialog.dismiss();
}
} else {
showGiftDialog();
}
}
break;
case CUSTOM_MSG_LUCKY_GIFT: case CUSTOM_MSG_LUCKY_GIFT:
if (baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY) { if (baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY) {
RoomReceivedLuckyGiftAttachment attachment = new RoomReceivedLuckyGiftAttachment(CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY); RoomReceivedLuckyGiftAttachment attachment = new RoomReceivedLuckyGiftAttachment(CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY);
@@ -1226,39 +1192,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
} }
} }
private void showGiftDialog() {
if (giftList.size() == 0) return;
giftDialog = generateAllServiceGiftDialog(this, giftList.peekFirst());
giftDialog.setOnDismissListener(dialog -> {
giftList.pollFirst();
AllServiceGiftProtocol.DataBean dataBean = giftList.peekFirst();
if (dataBean != null) {
if (isValid()) {
showGiftDialog();
} else {
giftList.clear();
}
}
});
giftDialog.show();
}
private AllServiceGiftDialog generateAllServiceGiftDialog(Context context, AllServiceGiftProtocol.DataBean dataBean) {
switch (JavaUtil.str2int(dataBean.getLevelNum())) {
default:
case AllServiceGiftDialog.ALL_SERVICE_GIFT_LEVEL_1:
return new AllServiceGiftLevelOneDialog(context, dataBean);
case AllServiceGiftDialog.ALL_SERVICE_GIFT_LEVEL_2:
return new AllServiceGiftLevelTwoDialog(context, dataBean);
case AllServiceGiftDialog.ALL_SERVICE_GIFT_LEVEL_3:
return new AllServiceGiftLevelThreeDialog(context, dataBean);
}
}
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();

View File

@@ -4,6 +4,7 @@ import static com.mango.core.Constants.DEBUG_MAX_UID;
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MESS_HEAD_NOBLE; import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MESS_HEAD_NOBLE;
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MESS_SUB_OPENNOBLE; import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MESS_SUB_OPENNOBLE;
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MESS_SUB_RENEWNOBLE; import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MESS_SUB_RENEWNOBLE;
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_ALL_SERVICE_GIFT;
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_GIFT; import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_GIFT;
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_RED_PACKAGE; import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_RED_PACKAGE;
import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_RED_PACKAGE_RECEIVE_ALL_DIAMOND; import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_RED_PACKAGE_RECEIVE_ALL_DIAMOND;
@@ -13,6 +14,7 @@ import static com.mango.xchat_android_library.utils.UIUtils.getActivityByContext
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.Dialog;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -41,6 +43,11 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.mango.core.noble.AllServiceGiftProtocol; import com.mango.core.noble.AllServiceGiftProtocol;
import com.mango.moshen.ui.widget.dialog.AllServiceGiftDialog;
import com.mango.moshen.ui.widget.dialog.AllServiceGiftLevelOneDialog;
import com.mango.moshen.ui.widget.dialog.AllServiceGiftLevelThreeDialog;
import com.mango.moshen.ui.widget.dialog.AllServiceGiftLevelTwoDialog;
import com.mango.xchat_android_library.utils.JavaUtil;
import com.netease.nim.uikit.common.util.log.LogUtil; import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nimlib.sdk.NIMSDK; import com.netease.nimlib.sdk.NIMSDK;
import com.netease.nimlib.sdk.Observer; import com.netease.nimlib.sdk.Observer;
@@ -111,6 +118,7 @@ import java.lang.ref.WeakReference;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import io.reactivex.Observable; import io.reactivex.Observable;
@@ -142,6 +150,9 @@ public abstract class BaseActivity extends RxAppCompatActivity
private OpenNobleGlobalNoticeDialog mNoticeDialog; private OpenNobleGlobalNoticeDialog mNoticeDialog;
private boolean isShowingChargeDialog; private boolean isShowingChargeDialog;
private Dialog giftDialog;
private LinkedList<AllServiceGiftProtocol.DataBean> giftList;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -521,6 +532,10 @@ public abstract class BaseActivity extends RxAppCompatActivity
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(this::onRoomEventReceived); .subscribe(this::onRoomEventReceived);
if (giftList != null) {
giftList.clear();
}
} }
@Override @Override
@@ -931,15 +946,78 @@ public abstract class BaseActivity extends RxAppCompatActivity
UserUtils.getUserInfo() == null) UserUtils.getUserInfo() == null)
return; return;
AllServiceGiftProtocol.DataBean data = JSON.parseObject(String.valueOf(baseProtocol.getData()), AllServiceGiftProtocol.DataBean.class); AllServiceGiftProtocol.DataBean data = JSON.parseObject(String.valueOf(baseProtocol.getData()), AllServiceGiftProtocol.DataBean.class);
if (data == null || data.getGiftUrl() == null || !data.isCeremonyGift()) if (data == null || data.getGiftUrl() == null) return;
return; if (data.isCeremonyGift()) {
new AllServiceGiftLevelCeremonyDialog(context, data).show(); new AllServiceGiftLevelCeremonyDialog(context, data).show();
} else {
if (!isValid()) return;
if (giftList == null) {
giftList = new LinkedList<>();
}
int second2 = baseProtocol.getSecond();
giftList.add(data);
if (second2 == CUSTOM_MSG_ALL_SERVICE_GIFT) {
if (giftDialog != null && giftDialog.isShowing()) {
// 如果当前以及有礼物弹窗在展示,则需要等到他 dismiss 后再显示下一个
AllServiceGiftProtocol.DataBean dataBean = giftList.peekFirst();
if (dataBean != null) {
return;
} else {
try {
giftDialog.dismiss();
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
showGiftDialog();
}
}
break;
}
break; break;
default: default:
break; break;
} }
} }
private void showGiftDialog() {
if (giftList.size() == 0) return;
giftDialog = generateAllServiceGiftDialog(this, giftList.peekFirst());
giftDialog.setOnDismissListener(dialog -> {
giftList.pollFirst();
AllServiceGiftProtocol.DataBean dataBean = giftList.peekFirst();
if (dataBean != null) {
if (isValid()) {
showGiftDialog();
} else {
giftList.clear();
}
}
});
try {
giftDialog.show();
} catch (Exception e) {
e.printStackTrace();
}
}
private AllServiceGiftDialog generateAllServiceGiftDialog(Context context, AllServiceGiftProtocol.DataBean dataBean) {
switch (JavaUtil.str2int(dataBean.getLevelNum())) {
default:
case AllServiceGiftDialog.ALL_SERVICE_GIFT_LEVEL_1:
return new AllServiceGiftLevelOneDialog(context, dataBean);
case AllServiceGiftDialog.ALL_SERVICE_GIFT_LEVEL_2:
return new AllServiceGiftLevelTwoDialog(context, dataBean);
case AllServiceGiftDialog.ALL_SERVICE_GIFT_LEVEL_3:
return new AllServiceGiftLevelThreeDialog(context, dataBean);
}
}
public void onGrabApprenticesEvent(GrabApprenticesEvent event) { public void onGrabApprenticesEvent(GrabApprenticesEvent event) {
if (!isTopActivity()) return; if (!isTopActivity()) return;
if (dialog != null && dialog.isAdded()) { if (dialog != null && dialog.isAdded()) {

View File

@@ -1,7 +1,9 @@
package com.mango.moshen.ui.widget.dialog; package com.mango.moshen.ui.widget.dialog;
import android.content.Context; import android.content.Context;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
@@ -74,4 +76,12 @@ public class AllServiceGiftDialog extends BaseDialog {
} }
} }
protected void closeSelf() {
try {
dismiss();
} catch (Throwable e) {
e.printStackTrace();
}
}
} }

View File

@@ -1,8 +1,10 @@
package com.mango.moshen.ui.widget.dialog; package com.mango.moshen.ui.widget.dialog;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import androidx.databinding.DataBindingUtil;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Shader;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.view.Gravity; import android.view.Gravity;
@@ -10,20 +12,21 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.TextView;
import androidx.databinding.DataBindingUtil;
import com.mango.core.manager.AvRoomDataManager;
import com.mango.core.noble.AllServiceGiftProtocol;
import com.mango.moshen.R; import com.mango.moshen.R;
import com.mango.moshen.avroom.activity.AVRoomActivity; import com.mango.moshen.avroom.activity.AVRoomActivity;
import com.mango.moshen.databinding.DialogGiftAllServiceLevelOneBinding; import com.mango.moshen.databinding.DialogGiftAllServiceLevelOneBinding;
import com.mango.moshen.public_chat_hall.activity.PublicChatHallHomeActivity;
import com.mango.core.initial.InitialModel;
import com.mango.core.noble.AllServiceGiftProtocol;
import com.mango.core.statistic.StatisticManager;
import com.mango.core.statistic.protocol.StatisticsProtocol;
import com.mango.xchat_android_library.utils.JavaUtil;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
/** /**
* Created by MadisonRong on 11/05/2018. * Created by MadisonRong on 11/05/2018.
@@ -38,6 +41,7 @@ public class AllServiceGiftLevelOneDialog extends AllServiceGiftDialog {
giftLevel = ALL_SERVICE_GIFT_LEVEL_1; giftLevel = ALL_SERVICE_GIFT_LEVEL_1;
} }
@SuppressLint("CheckResult")
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE); requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -55,7 +59,8 @@ public class AllServiceGiftLevelOneDialog extends AllServiceGiftDialog {
//MATCH_PARENT会挡住键盘 //MATCH_PARENT会挡住键盘
// wrap_parent在小米8又会截掉一点在华为测试关闭按钮点击不到 // wrap_parent在小米8又会截掉一点在华为测试关闭按钮点击不到
//暂时找不到原因, //暂时找不到原因,
windowParams.height = WindowManager.LayoutParams.WRAP_CONTENT; windowParams.height = getContext().getResources()
.getDimensionPixelOffset(R.dimen.all_service_one_dialog_height);
windowParams.dimAmount = 0.0f; windowParams.dimAmount = 0.0f;
windowParams.gravity = Gravity.TOP; windowParams.gravity = Gravity.TOP;
windowParams.x = 0; windowParams.x = 0;
@@ -65,21 +70,34 @@ public class AllServiceGiftLevelOneDialog extends AllServiceGiftDialog {
window.setWindowAnimations(R.style.anim_left); window.setWindowAnimations(R.style.anim_left);
} }
if (dataBean != null) { if (dataBean != null) {
binding.getRoot().setOnClickListener(v -> {
if (dataBean.getRoomUid() == JavaUtil.str2long(InitialModel.get().getPublicChatHallUid())) {
PublicChatHallHomeActivity.openPublicChatHallPage(getContext());
} else {
AVRoomActivity.start(getContext(), dataBean.getRoomUid());
}
StatisticManager.Instance().onEvent(StatisticsProtocol.FULL_GIFT_WATCHING, "全服礼物-前往围观计数");
});
Observable.timer((long) dataBean.getNotifyStaySecond(), TimeUnit.SECONDS) Observable.timer((long) dataBean.getNotifyStaySecond(), TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> { .subscribe(aLong -> {
dismiss(); closeSelf();
}); });
binding.setGiftBean(dataBean); binding.setGiftBean(dataBean);
if (dataBean.getGiftNum() > 1) {
binding.giftNumber.setVisibility(View.VISIBLE);
setGradient(binding.giftNumber);
}
binding.ivCloseDialogOne.setVisibility(dataBean.getRoomUid() == 0
|| (AvRoomDataManager.get().mCurrentRoomInfo != null && dataBean.getRoomUid() == AvRoomDataManager.get().mCurrentRoomInfo.getUid())
? View.GONE : View.VISIBLE);
binding.ivCloseDialogOne.setOnClickListener(v -> AVRoomActivity.start(getContext(), dataBean.getRoomUid()));
} }
binding.ivCloseDialogOne.setOnClickListener(v -> dismiss());
} }
private void setGradient(TextView textView) {
float endY = textView.getPaint().getTextSize();
LinearGradient linearGradient = new LinearGradient(
0f, 0f, 0f, endY,
Color.parseColor("#FFDD84"),
Color.parseColor("#FFE400"),
Shader.TileMode.CLAMP
);
textView.getPaint().setShader(linearGradient);
textView.invalidate();
}
} }

View File

@@ -1,32 +1,53 @@
package com.mango.moshen.ui.widget.dialog; package com.mango.moshen.ui.widget.dialog;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import androidx.databinding.DataBindingUtil;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Point; import android.graphics.Point;
import android.graphics.Shader;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.text.Layout;
import android.text.StaticLayout;
import android.text.TextPaint;
import android.text.style.ForegroundColorSpan;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.view.animation.AnimationUtils;
import android.view.animation.LinearInterpolator;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.databinding.DataBindingUtil;
import com.mango.xchat_android_library.utils.JavaUtil;
import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGADynamicEntity;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.mango.moshen.R; import com.mango.moshen.R;
import com.mango.moshen.avroom.activity.AVRoomActivity; import com.mango.moshen.avroom.activity.AVRoomActivity;
import com.mango.moshen.common.svga.SimpleSvgaCallback;
import com.mango.moshen.databinding.DialogGiftAllServiceLevelThreeBinding; import com.mango.moshen.databinding.DialogGiftAllServiceLevelThreeBinding;
import com.mango.moshen.public_chat_hall.activity.PublicChatHallHomeActivity; import com.mango.moshen.public_chat_hall.activity.PublicChatHallHomeActivity;
import com.mango.moshen.utils.SpannableBuilder;
import com.mango.core.initial.InitialModel; import com.mango.core.initial.InitialModel;
import com.mango.core.manager.AvRoomDataManager;
import com.mango.core.noble.AllServiceGiftProtocol; import com.mango.core.noble.AllServiceGiftProtocol;
import com.mango.core.statistic.StatisticManager; import com.mango.core.statistic.StatisticManager;
import com.mango.core.statistic.protocol.StatisticsProtocol; import com.mango.core.statistic.protocol.StatisticsProtocol;
import com.mango.xchat_android_library.utils.JavaUtil; import com.mango.core.utils.StringExtensionKt;
import java.util.Objects;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
/** /**
* Created by MadisonRong on 11/05/2018. * Created by MadisonRong on 11/05/2018.
@@ -41,6 +62,7 @@ public class AllServiceGiftLevelThreeDialog extends AllServiceGiftDialog {
super(context, R.style.FullScreenDialog, dataBean); super(context, R.style.FullScreenDialog, dataBean);
} }
@SuppressLint("CheckResult")
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE); requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -56,7 +78,8 @@ public class AllServiceGiftLevelThreeDialog extends AllServiceGiftDialog {
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
WindowManager.LayoutParams windowParams = window.getAttributes(); WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.width = WindowManager.LayoutParams.MATCH_PARENT; windowParams.width = WindowManager.LayoutParams.MATCH_PARENT;
windowParams.height =WindowManager.LayoutParams.WRAP_CONTENT; windowParams.height = getContext().getResources()
.getDimensionPixelOffset(R.dimen.all_service_three_dialog_height);
windowParams.dimAmount = 0.0f; windowParams.dimAmount = 0.0f;
windowParams.gravity = Gravity.TOP; windowParams.gravity = Gravity.TOP;
windowParams.x = 0; windowParams.x = 0;
@@ -68,25 +91,45 @@ public class AllServiceGiftLevelThreeDialog extends AllServiceGiftDialog {
screenWidth = point.x; screenWidth = point.x;
} }
if (dataBean != null) { if (dataBean != null) {
binding.giftClose.setOnClickListener(v -> { binding.ivCloseDialogOne.setOnClickListener(v -> {
dismiss(); AVRoomActivity.start(getContext(), dataBean.getRoomUid());
}); });
binding.getRoot().setOnClickListener(v -> {
if (dataBean.getRoomUid() == JavaUtil.str2long(InitialModel.get().getPublicChatHallUid())) {
PublicChatHallHomeActivity.openPublicChatHallPage(getContext());
} else {
AVRoomActivity.start(getContext(), dataBean.getRoomUid());
}
StatisticManager.Instance().onEvent(StatisticsProtocol.FULL_GIFT_WATCHING, "全服礼物-前往围观计数");
});
// 设置定时器
Observable.timer((long) dataBean.getNotifyStaySecond(), TimeUnit.SECONDS)
.subscribe(aLong -> {
dismiss();
});
binding.setGiftBean(dataBean); binding.setGiftBean(dataBean);
binding.tvRoomId.setVisibility(dataBean.getRoomUid() == 0 ? View.GONE : View.VISIBLE);
if (dataBean.getGiftNum() > 1) {
binding.giftNumber.setVisibility(View.VISIBLE);
setGradient(binding.giftNumber);
}
Observable.timer(6, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> {
closeSelf();
});
binding.svgaBg.setCallback(new SimpleSvgaCallback() {
@Override
public void onStep(int i, double v) {
if (i == 0) {
binding.llRoot.setVisibility(View.VISIBLE);
binding.llRoot.startAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.anim_right_in));
binding.ivCloseDialogOne.setVisibility(dataBean.getRoomUid() == 0
|| (AvRoomDataManager.get().mCurrentRoomInfo != null && dataBean.getRoomUid() == AvRoomDataManager.get().mCurrentRoomInfo.getUid())
? View.GONE : View.VISIBLE);
}
}
});
} }
} }
private void setGradient(TextView textView) {
float endY = textView.getPaint().getTextSize();
LinearGradient linearGradient = new LinearGradient(
0f, 0f, 0f, endY,
Color.parseColor("#FFDD84"),
Color.parseColor("#FFE400"),
Shader.TileMode.CLAMP
);
textView.getPaint().setShader(linearGradient);
textView.invalidate();
}
} }

View File

@@ -1,9 +1,11 @@
package com.mango.moshen.ui.widget.dialog; package com.mango.moshen.ui.widget.dialog;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import androidx.databinding.DataBindingUtil;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Point; import android.graphics.Point;
import android.graphics.Shader;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.view.Gravity; import android.view.Gravity;
@@ -11,20 +13,20 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.TextView;
import androidx.databinding.DataBindingUtil;
import com.mango.core.manager.AvRoomDataManager;
import com.mango.core.noble.AllServiceGiftProtocol;
import com.mango.moshen.R; import com.mango.moshen.R;
import com.mango.moshen.avroom.activity.AVRoomActivity; import com.mango.moshen.avroom.activity.AVRoomActivity;
import com.mango.moshen.databinding.DialogGiftAllServiceLevelTwoBinding; import com.mango.moshen.databinding.DialogGiftAllServiceLevelTwoBinding;
import com.mango.moshen.public_chat_hall.activity.PublicChatHallHomeActivity;
import com.mango.core.initial.InitialModel;
import com.mango.core.noble.AllServiceGiftProtocol;
import com.mango.core.statistic.StatisticManager;
import com.mango.core.statistic.protocol.StatisticsProtocol;
import com.mango.xchat_android_library.utils.JavaUtil;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
/** /**
* Created by MadisonRong on 11/05/2018. * Created by MadisonRong on 11/05/2018.
@@ -39,6 +41,7 @@ public class AllServiceGiftLevelTwoDialog extends AllServiceGiftDialog {
super(context, R.style.FullScreenDialog, dataBean); super(context, R.style.FullScreenDialog, dataBean);
} }
@SuppressLint("CheckResult")
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE); requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -54,7 +57,8 @@ public class AllServiceGiftLevelTwoDialog extends AllServiceGiftDialog {
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
WindowManager.LayoutParams windowParams = window.getAttributes(); WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.width = WindowManager.LayoutParams.MATCH_PARENT; windowParams.width = WindowManager.LayoutParams.MATCH_PARENT;
windowParams.height =WindowManager.LayoutParams.WRAP_CONTENT; windowParams.height = getContext().getResources()
.getDimensionPixelOffset(R.dimen.all_service_two_dialog_height);
windowParams.dimAmount = 0.0f; windowParams.dimAmount = 0.0f;
windowParams.gravity = Gravity.TOP; windowParams.gravity = Gravity.TOP;
windowParams.x = 0; windowParams.x = 0;
@@ -66,23 +70,34 @@ public class AllServiceGiftLevelTwoDialog extends AllServiceGiftDialog {
screenWidth = point.x; screenWidth = point.x;
} }
if (dataBean != null) { if (dataBean != null) {
binding.getRoot().setOnClickListener(v -> { binding.ivCloseDialogOne.setOnClickListener(v -> {
if (dataBean.getRoomUid() == JavaUtil.str2long(InitialModel.get().getPublicChatHallUid())) { AVRoomActivity.start(getContext(), dataBean.getRoomUid());
PublicChatHallHomeActivity.openPublicChatHallPage(getContext());
} else {
AVRoomActivity.start(getContext(), dataBean.getRoomUid());
}
StatisticManager.Instance().onEvent(StatisticsProtocol.FULL_GIFT_WATCHING, "全服礼物-前往围观计数");
}); });
// 设置定时器 // 设置定时器
Observable.timer((long) (dataBean.getNotifyStaySecond()), TimeUnit.SECONDS) Observable.timer((long) (dataBean.getNotifyStaySecond()), TimeUnit.SECONDS)
.subscribe(aLong -> dismiss()); .observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> closeSelf());
binding.setGiftBean(dataBean); binding.setGiftBean(dataBean);
binding.ivCloseDialogOne.setVisibility(dataBean.getRoomUid() == 0
|| (AvRoomDataManager.get().mCurrentRoomInfo != null && dataBean.getRoomUid() == AvRoomDataManager.get().mCurrentRoomInfo.getUid())
? View.GONE : View.VISIBLE);
if (dataBean.getGiftNum() > 1) {
binding.giftNumber.setVisibility(View.VISIBLE);
setGradient(binding.giftNumber);
}
} }
binding.ivCloseDialogTwo.setOnClickListener(v -> dismiss());
} }
private void setGradient(TextView textView) {
float endY = textView.getPaint().getTextSize();
LinearGradient linearGradient = new LinearGradient(
0f, 0f, 0f, endY,
Color.parseColor("#FFFFE0"),
Color.parseColor("#FFE400"),
Shader.TileMode.CLAMP
);
textView.getPaint().setShader(linearGradient);
textView.invalidate();
}
} }

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"> <set xmlns:android="http://schemas.android.com/apk/res/android">
<translate <translate
android:duration="500" android:duration="350"
android:fromXDelta="100%p" android:fromXDelta="100%p"
android:toXDelta="0"/> android:toXDelta="0"/>
<alpha <alpha
android:duration="500" android:duration="350"
android:fromAlpha="0.0" android:fromAlpha="0.0"
android:toAlpha="1.0"/> android:toAlpha="1.0"/>
</set> </set>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#455FFF" />
<corners android:radius="6dp" />
</shape>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFEC8B" />
<corners android:radius="6dp" />
</shape>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#AE45FF" />
<corners android:radius="6dp" />
</shape>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solid android:color="#B088FF" />
<stroke android:color="#82FEFF" android:width="1dp"/>
</shape>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solid android:color="#B088FF" />
<stroke android:color="#FFFDDE" android:width="1dp"/>
</shape>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solid android:color="#B088FF" />
<stroke android:color="@color/white" android:width="1dp"/>
</shape>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout 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"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
@@ -15,48 +16,46 @@
android:layout_marginTop="50dp" android:layout_marginTop="50dp"
tools:background="@color/black"> tools:background="@color/black">
<RelativeLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="15dp" android:background="@drawable/all_service_gift_level_one_background"
android:layout_marginEnd="15dp" android:gravity="center"
android:background="@drawable/all_service_gift_level_one_background"> android:orientation="horizontal"
android:paddingEnd="20dp"
android:paddingBottom="10dp">
<RelativeLayout <RelativeLayout
android:id="@+id/benefactor_container" android:id="@+id/benefactor_container"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_gravity="center"
android:layout_marginStart="13dp"
android:layout_marginTop="37dp">
<RelativeLayout <FrameLayout
android:id="@+id/benefactor_avatar_layout" android:id="@+id/benefactor_avatar_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"> android:layout_centerHorizontal="true">
<com.mango.moshen.common.widget.CircleImageView <View
android:id="@+id/benefactor_avatar_background" android:id="@+id/benefactor_avatar_background"
android:layout_width="51dp" android:layout_width="47dp"
android:layout_height="51dp" android:layout_height="47dp"
android:layout_centerInParent="true" android:background="@drawable/shape_circle_82feff" />
android:src="@drawable/all_service_gift_avatar_level_one_background" />
<com.mango.moshen.common.widget.CircleImageView <com.mango.moshen.common.widget.CircleImageView
android:id="@+id/benefactor_avatar" android:id="@+id/benefactor_avatar"
avatarUrl="@{giftBean.sendUserAvatar}" avatarUrl="@{giftBean.sendUserAvatar}"
android:layout_width="44dp" android:layout_width="43dp"
android:layout_height="44dp" android:layout_height="43dp"
android:layout_centerInParent="true" android:layout_gravity="center"
android:layout_centerHorizontal="true"
tools:src="@drawable/default_avatar" /> tools:src="@drawable/default_avatar" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
android:id="@+id/benefactor_nick" android:id="@+id/benefactor_nick"
android:layout_width="66.5dp" android:layout_width="65dp"
android:layout_height="16.5dp" android:layout_height="14dp"
android:layout_below="@id/benefactor_avatar_layout" android:layout_below="@id/benefactor_avatar_layout"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="-8dp" android:layout_marginTop="-8dp"
@@ -67,7 +66,7 @@
android:maxLines="1" android:maxLines="1"
android:singleLine="true" android:singleLine="true"
android:text="@{giftBean.sendUserNick}" android:text="@{giftBean.sendUserNick}"
android:textColor="#FF2F0060" android:textColor="@color/white"
android:textSize="10dp" android:textSize="10dp"
tools:ignore="SpUsage" tools:ignore="SpUsage"
tools:text="宫泽艾里斯宫泽艾里斯-宫泽艾里斯" /> tools:text="宫泽艾里斯宫泽艾里斯-宫泽艾里斯" />
@@ -78,48 +77,41 @@
android:id="@+id/give_text" android:id="@+id/give_text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_marginStart="2dp"
android:layout_marginStart="13dp" android:layout_marginEnd="2dp"
android:layout_marginTop="56dp"
android:layout_marginEnd="13dp"
android:layout_toEndOf="@id/benefactor_container"
android:src="@drawable/all_service_gift_give_level_1" /> android:src="@drawable/all_service_gift_give_level_1" />
<RelativeLayout <RelativeLayout
android:id="@+id/receiver_container" android:id="@+id/receiver_container"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_gravity="center"
android:layout_marginTop="37dp"
android:layout_toEndOf="@id/give_text">
<RelativeLayout <FrameLayout
android:id="@+id/receiver_avatar_layout" android:id="@+id/receiver_avatar_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"> android:layout_centerHorizontal="true">
<com.mango.moshen.common.widget.CircleImageView <View
android:id="@+id/receiver_avatar_background" android:id="@+id/receiver_avatar_background"
android:layout_width="51dp" android:layout_width="47dp"
android:layout_height="51dp" android:layout_height="47dp"
android:layout_centerInParent="true" android:background="@drawable/shape_circle_82feff" />
android:src="@drawable/all_service_gift_avatar_level_one_background" />
<com.mango.moshen.common.widget.CircleImageView <com.mango.moshen.common.widget.CircleImageView
android:id="@+id/receiver_avatar" android:id="@+id/receiver_avatar"
avatarUrl="@{giftBean.recvUserAvatar}" avatarUrl="@{giftBean.recvUserAvatar}"
android:layout_width="44dp" android:layout_width="43dp"
android:layout_height="44dp" android:layout_height="43dp"
android:layout_centerInParent="true" android:layout_gravity="center"
android:layout_centerHorizontal="true"
tools:src="@drawable/default_avatar" /> tools:src="@drawable/default_avatar" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
android:id="@+id/receiver_nick" android:id="@+id/receiver_nick"
android:layout_width="66.5dp" android:layout_width="65dp"
android:layout_height="16.5dp" android:layout_height="14dp"
android:layout_below="@id/receiver_avatar_layout" android:layout_below="@id/receiver_avatar_layout"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
@@ -131,7 +123,7 @@
android:maxLines="1" android:maxLines="1"
android:singleLine="true" android:singleLine="true"
android:text="@{giftBean.recvUserNick}" android:text="@{giftBean.recvUserNick}"
android:textColor="#FF2F0060" android:textColor="@color/white"
android:textSize="10dp" android:textSize="10dp"
tools:text="梅利奥达斯-梅利奥达斯-梅利奥达斯" /> tools:text="梅利奥达斯-梅利奥达斯-梅利奥达斯" />
@@ -140,36 +132,33 @@
<ImageView <ImageView
android:id="@+id/gift_img" android:id="@+id/gift_img"
nomalUrl="@{giftBean.giftUrl}" nomalUrl="@{giftBean.giftUrl}"
android:layout_width="60dp" android:layout_width="50dp"
android:layout_height="60dp" android:layout_height="50dp"
android:layout_gravity="center" android:layout_marginStart="@dimen/dp_20" />
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="37dp"
android:layout_toEndOf="@+id/receiver_container" />
<TextView <TextView
android:id="@+id/gift_number" android:id="@+id/gift_number"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_6" android:layout_marginStart="@dimen/dp_11"
android:layout_marginTop="53dp"
android:layout_toEndOf="@+id/gift_img"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:text="@{@string/x + giftBean.giftNum}" android:text="@{@string/x + giftBean.giftNum}"
android:textColor="#FFFEF563" android:textColor="#FFFEF563"
android:textSize="20dp" android:textSize="20dp"
android:textStyle="italic|bold"
tools:ignore="SpUsage" tools:ignore="SpUsage"
tools:text="x1314" /> tools:text="x1314" />
</RelativeLayout>
</LinearLayout>
<ImageView <ImageView
android:id="@+id/iv_close_dialog_one" android:id="@+id/iv_close_dialog_one"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end" android:layout_gravity="end"
android:layout_marginTop="13dp" android:layout_marginTop="2dp"
android:layout_marginEnd="10dp" android:layout_marginEnd="9dp"
android:src="@drawable/ic_close_all_server_one" /> android:src="@drawable/ic_close_all_server_one" />
</FrameLayout> </FrameLayout>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout 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"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
@@ -9,79 +10,82 @@
type="com.mango.core.noble.AllServiceGiftProtocol.DataBean" /> type="com.mango.core.noble.AllServiceGiftProtocol.DataBean" />
</data> </data>
<FrameLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="50dp" android:layout_marginTop="50dp"
tools:background="@color/black"> tools:background="@color/black">
<RelativeLayout <com.opensource.svgaplayer.SVGAImageView
android:layout_width="match_parent" android:id="@+id/svga_bg"
android:layout_height="wrap_content" android:layout_width="0dp"
android:layout_marginStart="15dp" android:layout_height="0dp"
android:layout_marginEnd="15dp" app:autoPlay="true"
android:background="@drawable/all_service_gift_level_three_background"> app:fillMode="Forward"
app:layout_constraintBottom_toBottomOf="@id/ll_root"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/ll_root"
app:loopCount="1"
app:source="svga/all_service.svga" />
<TextView <LinearLayout
android:id="@+id/tv_room_id" android:id="@+id/ll_root"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="0dp"
android:layout_centerHorizontal="true" app:layout_constraintDimensionRatio="750:195"
android:layout_marginTop="8dp" android:gravity="center"
android:gravity="center" android:orientation="horizontal"
android:text="@{@string/click_go + giftBean.roomErbanNo}" android:paddingEnd="20dp"
android:textColor="@color/white" android:paddingBottom="10dp"
android:textSize="10dp" android:visibility="invisible"
tools:ignore="SpUsage" app:layout_constraintEnd_toEndOf="parent"
tools:text="ID:1234567" /> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:background="@drawable/all_service_gift_level_three_background">
<RelativeLayout <RelativeLayout
android:id="@+id/benefactor_container" android:id="@+id/benefactor_container"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_gravity="center"
android:layout_marginStart="17dp"
android:layout_marginTop="56dp">
<RelativeLayout <FrameLayout
android:id="@+id/benefactor_avatar_layout" android:id="@+id/benefactor_avatar_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"> android:layout_centerHorizontal="true">
<com.mango.moshen.common.widget.CircleImageView <View
android:id="@+id/benefactor_avatar_background" android:id="@+id/benefactor_avatar_background"
android:layout_width="51dp" android:layout_width="47dp"
android:layout_height="51dp" android:layout_height="47dp"
android:layout_centerInParent="true" android:background="@drawable/shape_circle_three_service" />
android:src="@drawable/all_service_gift_avatar_level_one_background" />
<com.mango.moshen.common.widget.CircleImageView <com.mango.moshen.common.widget.CircleImageView
android:id="@+id/benefactor_avatar" android:id="@+id/benefactor_avatar"
avatarUrl="@{giftBean.sendUserAvatar}" avatarUrl="@{giftBean.sendUserAvatar}"
android:layout_width="44dp" android:layout_width="43dp"
android:layout_height="44dp" android:layout_height="43dp"
android:layout_centerInParent="true" android:layout_gravity="center"
android:layout_centerHorizontal="true"
tools:src="@drawable/default_avatar" /> tools:src="@drawable/default_avatar" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
android:id="@+id/benefactor_nick" android:id="@+id/benefactor_nick"
android:layout_width="67.5dp" android:layout_width="65dp"
android:layout_height="16.5dp" android:layout_height="14dp"
android:layout_below="@id/benefactor_avatar_layout" android:layout_below="@id/benefactor_avatar_layout"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-8dp" android:layout_marginTop="-8dp"
android:background="@drawable/all_service_gift_nick_two_background" android:background="@drawable/all_service_gift_nick_three_background"
android:ellipsize="end" android:ellipsize="end"
android:gravity="center" android:gravity="center"
android:maxLength="6" android:maxLength="6"
android:maxLines="1" android:maxLines="1"
android:singleLine="true" android:singleLine="true"
android:text="@{giftBean.sendUserNick}" android:text="@{giftBean.sendUserNick}"
android:textColor="@color/white" android:textColor="#FF7200"
android:textSize="10dp" android:textSize="10dp"
tools:ignore="SpUsage" tools:ignore="SpUsage"
tools:text="宫泽艾里斯宫泽艾里斯-宫泽艾里斯" /> tools:text="宫泽艾里斯宫泽艾里斯-宫泽艾里斯" />
@@ -92,101 +96,94 @@
android:id="@+id/give_text" android:id="@+id/give_text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_marginStart="2dp"
android:layout_marginStart="13dp" android:layout_marginEnd="2dp"
android:layout_marginTop="56dp" android:src="@drawable/all_service_gift_give_level_3" />
android:layout_marginEnd="13dp"
android:layout_toEndOf="@id/benefactor_container"
android:src="@drawable/all_service_gift_give_level_1" />
<RelativeLayout <RelativeLayout
android:id="@+id/receiver_container" android:id="@+id/receiver_container"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_gravity="center"
android:layout_marginTop="56dp"
android:layout_toEndOf="@id/give_text">
<RelativeLayout <FrameLayout
android:id="@+id/receiver_avatar_layout" android:id="@+id/receiver_avatar_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"> android:layout_centerHorizontal="true">
<com.mango.moshen.common.widget.CircleImageView <View
android:id="@+id/receiver_avatar_background" android:id="@+id/receiver_avatar_background"
android:layout_width="51dp" android:layout_width="47dp"
android:layout_height="51dp" android:layout_height="47dp"
android:layout_centerInParent="true" android:background="@drawable/shape_circle_three_service" />
android:src="@drawable/all_service_gift_avatar_level_one_background" />
<com.mango.moshen.common.widget.CircleImageView <com.mango.moshen.common.widget.CircleImageView
android:id="@+id/receiver_avatar" android:id="@+id/receiver_avatar"
avatarUrl="@{giftBean.recvUserAvatar}" avatarUrl="@{giftBean.recvUserAvatar}"
android:layout_width="44dp" android:layout_width="43dp"
android:layout_height="44dp" android:layout_height="43dp"
android:layout_centerInParent="true" android:layout_gravity="center"
android:layout_centerHorizontal="true"
tools:src="@drawable/default_avatar" /> tools:src="@drawable/default_avatar" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
android:id="@+id/receiver_nick" android:id="@+id/receiver_nick"
android:layout_width="67.5dp" android:layout_width="65dp"
android:layout_height="16.5dp" android:layout_height="14dp"
android:layout_below="@id/receiver_avatar_layout" android:layout_below="@id/receiver_avatar_layout"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="-8dp" android:layout_marginTop="-8dp"
android:background="@drawable/all_service_gift_nick_two_background" android:background="@drawable/all_service_gift_nick_three_background"
android:ellipsize="end" android:ellipsize="end"
android:gravity="center" android:gravity="center"
android:maxLength="6" android:maxLength="6"
android:maxLines="1" android:maxLines="1"
android:singleLine="true" android:singleLine="true"
android:text="@{giftBean.recvUserNick}" android:text="@{giftBean.recvUserNick}"
android:textColor="@color/white" android:textColor="#FF7200"
android:textSize="10dp" android:textSize="10dp"
tools:text="梅利奥达斯梅利奥达斯-梅利奥达斯" /> tools:text="梅利奥达斯-梅利奥达斯-梅利奥达斯" />
</RelativeLayout> </RelativeLayout>
<ImageView <ImageView
android:id="@+id/gift_img" android:id="@+id/gift_img"
nomalUrl="@{giftBean.giftUrl}" nomalUrl="@{giftBean.giftUrl}"
android:layout_width="60dp" android:layout_width="50dp"
android:layout_height="60dp" android:layout_height="50dp"
android:layout_gravity="center" android:layout_marginStart="@dimen/dp_20" />
android:layout_marginStart="15dp"
android:layout_marginTop="56dp"
android:layout_toEndOf="@+id/receiver_container" />
<TextView <TextView
android:id="@+id/gift_number" android:id="@+id/gift_number"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_6" android:layout_marginStart="@dimen/dp_11"
android:layout_marginTop="75dp"
android:layout_toEndOf="@+id/gift_img"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:text="@{@string/x + giftBean.giftNum}" android:text="@{@string/x + giftBean.giftNum}"
android:textColor="#FFFEF563" android:textColor="#FFFEF563"
android:textSize="20dp" android:textSize="20dp"
android:textStyle="italic|bold"
tools:ignore="SpUsage" tools:ignore="SpUsage"
tools:text="x1314" /> tools:text="x1314" />
</RelativeLayout> </LinearLayout>
<ImageView <ImageView
android:id="@+id/gift_close" android:id="@+id/iv_close_dialog_one"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end" android:layout_gravity="end"
android:layout_marginEnd="@dimen/dp_10" android:layout_marginTop="2dp"
android:layout_marginTop="34dp" android:layout_marginEnd="9dp"
android:src="@drawable/ic_close_all_server_one" /> android:visibility="gone"
android:src="@drawable/ic_close_all_server_three"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout 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"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
@@ -15,51 +16,48 @@
android:layout_marginTop="50dp" android:layout_marginTop="50dp"
tools:background="@color/black"> tools:background="@color/black">
<RelativeLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:background="@drawable/all_service_gift_level_two_background"
android:layout_marginEnd="10dp" android:gravity="center"
android:background="@drawable/all_service_gift_level_two_background"> android:orientation="horizontal"
android:paddingEnd="20dp"
android:paddingBottom="10dp">
<RelativeLayout <RelativeLayout
android:id="@+id/benefactor_container" android:id="@+id/benefactor_container"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_gravity="center"
android:layout_marginStart="17dp"
android:layout_marginTop="34dp">
<RelativeLayout <FrameLayout
android:id="@+id/benefactor_avatar_layout" android:id="@+id/benefactor_avatar_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"> android:layout_centerHorizontal="true">
<com.mango.moshen.common.widget.CircleImageView <View
android:id="@+id/benefactor_avatar_background" android:id="@+id/benefactor_avatar_background"
android:layout_width="51dp" android:layout_width="47dp"
android:layout_height="51dp" android:layout_height="47dp"
android:layout_centerInParent="true" android:background="@drawable/shape_circle_two_service" />
android:src="@drawable/all_service_gift_avatar_level_one_background" />
<com.mango.moshen.common.widget.CircleImageView <com.mango.moshen.common.widget.CircleImageView
android:id="@+id/benefactor_avatar" android:id="@+id/benefactor_avatar"
avatarUrl="@{giftBean.sendUserAvatar}" avatarUrl="@{giftBean.sendUserAvatar}"
android:layout_width="44dp" android:layout_width="43dp"
android:layout_height="44dp" android:layout_height="43dp"
android:layout_centerInParent="true" android:layout_gravity="center"
android:layout_centerHorizontal="true"
tools:src="@drawable/default_avatar" /> tools:src="@drawable/default_avatar" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
android:id="@+id/benefactor_nick" android:id="@+id/benefactor_nick"
android:layout_width="67.5dp" android:layout_width="65dp"
android:layout_height="16.5dp" android:layout_height="14dp"
android:layout_below="@id/benefactor_avatar_layout" android:layout_below="@id/benefactor_avatar_layout"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-8dp" android:layout_marginTop="-8dp"
android:background="@drawable/all_service_gift_nick_two_background" android:background="@drawable/all_service_gift_nick_two_background"
android:ellipsize="end" android:ellipsize="end"
@@ -79,48 +77,41 @@
android:id="@+id/give_text" android:id="@+id/give_text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_marginStart="2dp"
android:layout_marginStart="13dp" android:layout_marginEnd="2dp"
android:layout_marginTop="53dp" android:src="@drawable/all_service_gift_give_level_2" />
android:layout_marginEnd="13dp"
android:layout_toEndOf="@id/benefactor_container"
android:src="@drawable/all_service_gift_give_level_1" />
<RelativeLayout <RelativeLayout
android:id="@+id/receiver_container" android:id="@+id/receiver_container"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_gravity="center"
android:layout_marginTop="34dp"
android:layout_toEndOf="@id/give_text">
<RelativeLayout <FrameLayout
android:id="@+id/receiver_avatar_layout" android:id="@+id/receiver_avatar_layout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true"> android:layout_centerHorizontal="true">
<com.mango.moshen.common.widget.CircleImageView <View
android:id="@+id/receiver_avatar_background" android:id="@+id/receiver_avatar_background"
android:layout_width="51dp" android:layout_width="47dp"
android:layout_height="51dp" android:layout_height="47dp"
android:layout_centerInParent="true" android:background="@drawable/shape_circle_two_service" />
android:src="@drawable/all_service_gift_avatar_level_two_background" />
<com.mango.moshen.common.widget.CircleImageView <com.mango.moshen.common.widget.CircleImageView
android:id="@+id/receiver_avatar" android:id="@+id/receiver_avatar"
avatarUrl="@{giftBean.recvUserAvatar}" avatarUrl="@{giftBean.recvUserAvatar}"
android:layout_width="44dp" android:layout_width="43dp"
android:layout_height="44dp" android:layout_height="43dp"
android:layout_centerInParent="true" android:layout_gravity="center"
android:layout_centerHorizontal="true"
tools:src="@drawable/default_avatar" /> tools:src="@drawable/default_avatar" />
</RelativeLayout>
</FrameLayout>
<TextView <TextView
android:id="@+id/receiver_nick" android:id="@+id/receiver_nick"
android:layout_width="67.5dp" android:layout_width="65dp"
android:layout_height="16.5dp" android:layout_height="14dp"
android:layout_below="@id/receiver_avatar_layout" android:layout_below="@id/receiver_avatar_layout"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
@@ -134,45 +125,42 @@
android:text="@{giftBean.recvUserNick}" android:text="@{giftBean.recvUserNick}"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="10dp" android:textSize="10dp"
tools:text="梅利奥达斯梅利奥达斯-梅利奥达斯" /> tools:text="梅利奥达斯-梅利奥达斯-梅利奥达斯" />
</RelativeLayout> </RelativeLayout>
<ImageView <ImageView
android:id="@+id/gift_img" android:id="@+id/gift_img"
nomalUrl="@{giftBean.giftUrl}" nomalUrl="@{giftBean.giftUrl}"
android:layout_width="60dp" android:layout_width="50dp"
android:layout_height="60dp" android:layout_height="50dp"
android:layout_gravity="center" android:layout_marginStart="@dimen/dp_20" />
android:layout_marginStart="15dp"
android:layout_marginTop="34dp"
android:layout_toEndOf="@+id/receiver_container" />
<TextView <TextView
android:id="@+id/gift_number" android:id="@+id/gift_number"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_6" android:layout_marginStart="@dimen/dp_11"
android:layout_marginTop="53dp"
android:layout_toEndOf="@+id/gift_img"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:text="@{@string/x + giftBean.giftNum}" android:text="@{@string/x + giftBean.giftNum}"
android:textColor="#FFFEF563" android:textColor="#FFFEF563"
android:textSize="20dp" android:textSize="20dp"
android:textStyle="italic|bold"
tools:ignore="SpUsage" tools:ignore="SpUsage"
tools:text="x1314" /> tools:text="x1314" />
</RelativeLayout> </LinearLayout>
<ImageView <ImageView
android:id="@+id/ivCloseDialogTwo" android:id="@+id/iv_close_dialog_one"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end" android:layout_gravity="end"
android:layout_marginTop="10dp" android:layout_marginTop="2dp"
android:layout_marginEnd="11dp" android:layout_marginEnd="9dp"
android:src="@drawable/ic_close_all_server_one" /> android:src="@drawable/ic_close_all_server_two" />
</FrameLayout> </FrameLayout>
</layout> </layout>

View File

@@ -196,7 +196,7 @@
<dimen name="all_service_three_dialog_height">242dp</dimen> <dimen name="all_service_three_dialog_height">242dp</dimen>
<dimen name="all_service_two_dialog_height">230dp</dimen> <dimen name="all_service_two_dialog_height">230dp</dimen>
<dimen name="all_service_one_dialog_height">250dp</dimen> <dimen name="all_service_one_dialog_height">150dp</dimen>
<dimen name="dp_sign_in_total_reward_item_size">53dp</dimen> <dimen name="dp_sign_in_total_reward_item_size">53dp</dimen>
<dimen name="sp_21">21sp</dimen> <dimen name="sp_21">21sp</dimen>