调整战令页面间距
修复【战令余额不足未跳转充值页面】问题 修复【战令开通等级时弹框金额偶尔不显示问题】 调整战令获取金额接口 调整战令item名字显示模式 调整战令购买经验弹框显示
This commit is contained in:
parent
3a1268aac7
commit
2857127285
@ -77,6 +77,7 @@ public class LiberalBattlePassPopupWindow extends CenterPopupView {
|
||||
mPassCallback.onCallback(data.getData().getCode(), data.getData().getMsg());
|
||||
}
|
||||
IMLoginManager.get(getContext()).upDataUserInfo();
|
||||
IMLoginManager.get(getContext()).updateUserCoin();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.core.CenterPopupView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.http.ResponseModel;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
@ -28,11 +29,12 @@ public class OrderLevelPopupWindow extends CenterPopupView {
|
||||
private ProgressBar progressBar;
|
||||
private OrderLevelCallback orderLevelCallback;
|
||||
private long maxExp;
|
||||
|
||||
public OrderLevelPopupWindow(@NonNull Context context,
|
||||
private BattlePassUserInfoBean userInfoBean;
|
||||
public OrderLevelPopupWindow(@NonNull Context context, BattlePassUserInfoBean userInfoBean,
|
||||
int mCurrentExperience, int mTotalExperience,
|
||||
String mCurrentLevel, String mBalance,long maxExp, OrderLevelCallback mOrderLevelCallback) {
|
||||
String mCurrentLevel, String mBalance, long maxExp, OrderLevelCallback mOrderLevelCallback) {
|
||||
super(context);
|
||||
this.userInfoBean = userInfoBean;
|
||||
currentExperience = mCurrentExperience;
|
||||
totalExperience = mTotalExperience;
|
||||
currentLevel = mCurrentLevel;
|
||||
@ -59,7 +61,7 @@ public class OrderLevelPopupWindow extends CenterPopupView {
|
||||
orderLevel.setText(buyExp);
|
||||
progressBar.setMax(totalExperience);
|
||||
progressBar.setProgress(currentExperience);
|
||||
expText.setText(String.format("%s/%s", currentExperience, totalExperience));
|
||||
expText.setText(String.format("%s/%s", userInfoBean.getBattlePassExp(), userInfoBean.getNextLevelExp()));
|
||||
current.setText(String.format("Lv%s", currentLevel));
|
||||
balanceDiamond.setText(balance);
|
||||
findViewById(R.id.sub).setOnClickListener(new OnClickListener() {
|
||||
@ -102,6 +104,7 @@ public class OrderLevelPopupWindow extends CenterPopupView {
|
||||
.buyingExperiencePoint(buyExp, new HttpCallback<ResponseModel<Object>>() {
|
||||
@Override
|
||||
public void onSuccess(ResponseModel<Object> data) {
|
||||
|
||||
if (orderLevelCallback != null) {
|
||||
orderLevelCallback.onCallback(data.getData().getCode(), data.getMsg());
|
||||
}dialog.dismiss();
|
||||
|
@ -2674,11 +2674,9 @@ public class LiveNetManager {
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(responseModel -> {
|
||||
if (callback != null) {
|
||||
if (callback != null) {
|
||||
callback.onSuccess(new HttpCallbackModel(responseModel.getData().getCode(), responseModel.getData().getMsg()));
|
||||
}
|
||||
}
|
||||
}, new Consumer<Throwable>() {
|
||||
@Override
|
||||
public void accept(Throwable throwable) throws Exception {
|
||||
|
@ -8,6 +8,7 @@ import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.lzf.easyfloat.EasyFloat;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
@ -509,5 +510,22 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
}
|
||||
});
|
||||
}
|
||||
public void updateUserCoin(){
|
||||
HttpClient.getInstance().get("User.getUserBalance", "User.getUserBalance")
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
JSONObject obj = JSONObject.parseObject(info[0]);
|
||||
String golds = obj.getString("gold");
|
||||
String coins = obj.getString("coin");
|
||||
String yuanbaos = obj.getString("yuanbao");
|
||||
userInfo.setCoin(obj.getLong("coin"));
|
||||
userInfo.setGold(obj.getLong("gold"));
|
||||
userInfo.setYuanbao(yuanbaos);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -5,13 +5,13 @@ ext {
|
||||
minSdkVersion : 21,
|
||||
targetSdkVersion : 33,
|
||||
versionCode : 460,
|
||||
versionName : "6.6.3"
|
||||
versionName : "6.6.4"
|
||||
]
|
||||
manifestPlaceholders = [
|
||||
//正式、
|
||||
// serverHost : "https://napi.yaoulive.com",
|
||||
serverHost : "https://napi.yaoulive.com",
|
||||
// 测试
|
||||
serverHost : " https://ceshi.yaoulive.com",
|
||||
//serverHost : " https://ceshi.yaoulive.com",
|
||||
|
||||
//百度语音识别
|
||||
|
||||
@ -21,7 +21,7 @@ ext {
|
||||
baiduAppSecretKey: "nEVSgmuGpU0pjPr6VleEGGAl0hzGW52S",
|
||||
|
||||
// true表示谷歌支付 false 0 链接包 1 谷歌包 2华为包 3 samsung包
|
||||
isGooglePlay : 3,
|
||||
isGooglePlay : 0,
|
||||
//是否上报异常日志
|
||||
isUploadLog : true,
|
||||
//是否打包成插件包模式
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
@ -15,6 +17,7 @@ import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
@ -133,6 +136,19 @@ public class BattlePassActivity extends AbsActivity {
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(mContext)
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
initData();
|
||||
}
|
||||
|
@ -1,6 +1,10 @@
|
||||
package com.yunbao.main.adapter;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -13,18 +17,26 @@ import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.bean.HttpCallbackModel;
|
||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||
import com.yunbao.common.dialog.ActivateEliteBattleOrderPopupWindow;
|
||||
import com.yunbao.common.dialog.LiberalBattlePassPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.event.BattlePassTypeEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -36,6 +48,7 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
|
||||
private List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> mList = new ArrayList<>();
|
||||
private int userLevel;
|
||||
private BattlePassUserInfoBean userType;
|
||||
private String quintessenceSpendMoney,enjoySpendMoney;
|
||||
private OnItemClickListener<LiveBattlePassRewardsBean.LiveBattlePassReward> onItemClickListener;
|
||||
|
||||
public void setList(List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> mList) {
|
||||
@ -74,6 +87,14 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
|
||||
return mList.size();
|
||||
}
|
||||
|
||||
public void setQuintessenceSpendMoney(String quintessenceSpendMoney) {
|
||||
this.quintessenceSpendMoney=quintessenceSpendMoney;
|
||||
}
|
||||
|
||||
public void setEnjoySpendMoney(String enjoySpendMoney) {
|
||||
this.enjoySpendMoney=enjoySpendMoney;
|
||||
}
|
||||
|
||||
public class VH extends RecyclerView.ViewHolder {
|
||||
View lineBg, line, point;
|
||||
View tab1Layout, tab2Layout, tab3Layout;
|
||||
@ -206,6 +227,11 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
|
||||
}
|
||||
if (reward.getLock() == 1) {
|
||||
//ToastUtil.show("锁了");
|
||||
if(reward.getLiveBattlePassTypeId()==2){
|
||||
showBuyType(true);
|
||||
}else{
|
||||
showBuyType(false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (reward.getReceived() == 2) {
|
||||
@ -236,7 +262,7 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
|
||||
.getRewards(String.valueOf(reward.getLiveBattlePassLevel()), String.valueOf(reward.getId()), new HttpCallback<HttpCallbackModel>() {
|
||||
@Override
|
||||
public void onSuccess(HttpCallbackModel data) {
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.battlepass_reward_item_get));
|
||||
ToastUtil.show(data.getMsg());
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(reward, reward.getId());
|
||||
}
|
||||
@ -275,7 +301,38 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter<BattlePassRewa
|
||||
setVisibility(View.INVISIBLE, type - 1, tab1Layout, tab2Layout, tab3Layout);
|
||||
}
|
||||
}
|
||||
|
||||
private void showBuyType(boolean is){
|
||||
new XPopup.Builder(itemView.getContext())
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) itemView.getContext()) - DpUtil.dp2px(34))
|
||||
.asCustom(new ActivateEliteBattleOrderPopupWindow(
|
||||
itemView.getContext(),
|
||||
is?quintessenceSpendMoney:enjoySpendMoney,
|
||||
is,
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(itemView.getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(itemView.getContext().getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(itemView.getContext().getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
}
|
||||
},
|
||||
"2"
|
||||
))
|
||||
.show();
|
||||
}
|
||||
}
|
||||
|
||||
private interface ViewData<T> {
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.yunbao.main.fragment;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -8,6 +11,7 @@ import android.view.ViewGroup;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassTask;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
@ -20,6 +24,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
@ -83,18 +88,32 @@ public class BattlePassMissionFragment extends BaseFragment {
|
||||
.enableDrag(false)
|
||||
.maxWidth(DeviceUtils.getScreenHeight((Activity) getContext()) - DpUtil.dp2px(34))
|
||||
.asCustom(new OrderLevelPopupWindow(getContext(),
|
||||
userInfoBean.getBattlePassExp() - userInfoBean.getLastLevelExp(),
|
||||
userInfoBean.getNextLevelExp() - userInfoBean.getLastLevelExp(),
|
||||
userInfoBean,
|
||||
userInfoBean.getBattlePassExp()-userInfoBean.getLastLevelExp(),
|
||||
userInfoBean.getNextLevelExp()-userInfoBean.getLastLevelExp(),
|
||||
String.valueOf(userInfoBean.getLevel()),
|
||||
String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getCoin()),
|
||||
maxExp,
|
||||
new OrderLevelPopupWindow.OrderLevelCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
IMLoginManager.get(getContext()).updateUserCoin();
|
||||
updateData();
|
||||
IMLoginManager.get(getContext()).upDataUserInfo();
|
||||
}
|
||||
}
|
||||
)
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.yunbao.main.fragment;
|
||||
|
||||
import static com.yunbao.common.utils.RouteUtil.PATH_COIN;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -10,6 +13,7 @@ import android.widget.ImageView;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||
@ -21,6 +25,7 @@ import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DeviceUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
@ -104,6 +109,19 @@ public class BattlePassRewardFragment extends BaseFragment {
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
updateData();
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
@ -127,6 +145,19 @@ public class BattlePassRewardFragment extends BaseFragment {
|
||||
new LiberalBattlePassPopupWindow.LiberalBattlePassCallback() {
|
||||
@Override
|
||||
public void onCallback(int code, String msg) {
|
||||
if (code == 1001) {
|
||||
new DialogUitl.Builder(getContext())
|
||||
.setView(com.yunbao.live.R.layout.dialog_live_unfollow)
|
||||
.setConfirmString(getString(com.yunbao.live.R.string.charge))
|
||||
.setContent(getString(com.yunbao.live.R.string.insufficient_balance))
|
||||
.setClickCallback(new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
ARouter.getInstance().build(PATH_COIN).withInt("p", 0).navigation();
|
||||
}
|
||||
}).build().show();
|
||||
return;
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
updateData();
|
||||
Bus.get().post(new BattlePassTypeEvent(0));
|
||||
@ -151,9 +182,11 @@ public class BattlePassRewardFragment extends BaseFragment {
|
||||
for (LiveBattlePassRewardsBean.BattlePassType passType : data.getLive_battle_pass_type()) {
|
||||
if (passType.getId() == 2) {
|
||||
quintessenceSpendMoney = String.valueOf(passType.getDiamond_value());
|
||||
adapter.setQuintessenceSpendMoney(quintessenceSpendMoney);
|
||||
}
|
||||
if (passType.getId() == 3) {
|
||||
enjoySpendMoney = String.valueOf(passType.getDiamond_value());
|
||||
adapter.setEnjoySpendMoney(enjoySpendMoney);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -85,13 +85,13 @@
|
||||
layout="@layout/view_battlepass_user"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="32dp" />
|
||||
android:layout_marginTop="16dp" />
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:layout_marginTop="26dp"
|
||||
android:id="@+id/context_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:background="@drawable/background_order_dialog"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/background_order_dialog" />
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -122,13 +122,10 @@
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="甜蜜氣球\n&積分30"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="14sp"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:maxLines="2"
|
||||
app:autoSizeMaxTextSize="14sp"
|
||||
app:autoSizeMinTextSize="5sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tab_1_bg" />
|
||||
@ -199,7 +196,9 @@
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="甜蜜氣球\n&積分30"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="14sp"
|
||||
android:textSize="12sp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@ -263,12 +262,14 @@
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/tab_3_title"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="甜蜜氣球\n&積分30"
|
||||
android:textColor="#0D21B2"
|
||||
android:textSize="14sp"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
Loading…
Reference in New Issue
Block a user