add[整蛊礼物接口调用、整蛊说明]
This commit is contained in:
parent
b5417f90b4
commit
b7c53a3b21
@ -0,0 +1,33 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PrankGiftResultBean extends BaseModel{
|
||||
private List<PrankGiftBean> prank_list;
|
||||
private String status;
|
||||
private String prank_type;
|
||||
|
||||
public List<PrankGiftBean> getPrank_list() {
|
||||
return prank_list;
|
||||
}
|
||||
|
||||
public void setPrank_list(List<PrankGiftBean> prank_list) {
|
||||
this.prank_list = prank_list;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getPrank_type() {
|
||||
return prank_type;
|
||||
}
|
||||
|
||||
public void setPrank_type(String prank_type) {
|
||||
this.prank_type = prank_type;
|
||||
}
|
||||
}
|
@ -54,6 +54,7 @@ import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.bean.PkRankBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankGiftResultBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||
import com.yunbao.common.bean.RandomPkUserBean;
|
||||
@ -504,7 +505,10 @@ public interface PDLiveApi {
|
||||
* 获取整蛊列表
|
||||
*/
|
||||
@GET("/api/public/?service=Prank.prankList")
|
||||
Observable<ResponseModel<List<PrankGiftBean>>> prankList(@Query("anchor_id") String anchor_id);
|
||||
Observable<ResponseModel<PrankGiftResultBean>>prankList(
|
||||
@Query("anchor_id") String anchor_id,
|
||||
@Query("prank_type") String prank_type
|
||||
);
|
||||
|
||||
/**
|
||||
* 设置礼物整蛊
|
||||
@ -512,9 +516,9 @@ public interface PDLiveApi {
|
||||
@GET("/api/public/?service=Prank.setPrank")
|
||||
Observable<ResponseModel<List<BaseModel>>> setPrank(
|
||||
@Query("anchor_id") String anchor_id,
|
||||
@Query("gift_id") String gift_id,
|
||||
@Query("gift_num") String gift_num,
|
||||
@Query("prank_content") String prank_content
|
||||
@Query("status") String status,
|
||||
@Query("prank_json") String prank_json,
|
||||
@Query("prank_type") String prank_type
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -54,6 +54,7 @@ import com.yunbao.common.bean.NobleTrumpetModel;
|
||||
import com.yunbao.common.bean.OpenAdModel;
|
||||
import com.yunbao.common.bean.PkRankBean;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankGiftResultBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
||||
import com.yunbao.common.bean.RandomPkUserBean;
|
||||
@ -879,9 +880,9 @@ public class LiveNetManager {
|
||||
/**
|
||||
* 获取转盘整蛊列表
|
||||
*/
|
||||
public void getPrankGiftList(String mLiveUid, HttpCallback<List<PrankGiftBean>> callback) {
|
||||
public void getPrankGiftList(String mLiveUid, String prank_type,HttpCallback<PrankGiftResultBean> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.prankList(mLiveUid)
|
||||
.prankList(mLiveUid,prank_type)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.subscribe(responseModel -> {
|
||||
@ -901,9 +902,9 @@ public class LiveNetManager {
|
||||
/**
|
||||
* 设置礼物整蛊
|
||||
*/
|
||||
public void setPrankGift(String mLiveUid, String gift_id, String gift_num, String prank_content, HttpCallback<PrankHttpTurntableBean> callback) {
|
||||
public void setPrankGift(String mLiveUid, String status, String prank_json,String prank_type, HttpCallback<PrankHttpTurntableBean> callback) {
|
||||
API.get().pdLiveApi(mContext)
|
||||
.setPrank(mLiveUid, gift_id, gift_num, prank_content)
|
||||
.setPrank(mLiveUid, status, prank_json, prank_type)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.subscribe(responseModel -> {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.yunbao.live.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
@ -108,7 +109,6 @@ public class LivePrankRecyclerAdapter extends RecyclerView.Adapter<LivePrankRecy
|
||||
private ImageView mIcon;
|
||||
private TextView mTitle;
|
||||
private TextView mName;
|
||||
private TextView mNum;
|
||||
private ImageView mRemove;
|
||||
|
||||
public GiftViewHolder(View itemView) {
|
||||
@ -116,21 +116,19 @@ public class LivePrankRecyclerAdapter extends RecyclerView.Adapter<LivePrankRecy
|
||||
mIcon = itemView.findViewById(R.id.gift_icon);
|
||||
mTitle = itemView.findViewById(R.id.gift_title);
|
||||
mName = itemView.findViewById(R.id.gift_name);
|
||||
mNum = itemView.findViewById(R.id.gift_num);
|
||||
mRemove = itemView.findViewById(R.id.gift_close);
|
||||
mRemove.setOnClickListener(v -> {
|
||||
PrankGiftBean bean = (PrankGiftBean) v.getTag();
|
||||
onItemClickListener.onItemClick(bean.getGiftId(), (Integer) itemView.getTag());
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
public void setDate(PrankGiftBean bean, int position) {
|
||||
ImgLoader.display(mContext, bean.getIcon(), mIcon);
|
||||
itemView.setTag(position);
|
||||
mName.setText(bean.getName());
|
||||
mName.setText(bean.getName()+"*"+bean.getNum());
|
||||
mTitle.setText(bean.getTitle());
|
||||
mNum.setText(bean.getNum() + "");
|
||||
mRemove.setTag(bean);
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
@ -11,9 +10,8 @@ import androidx.annotation.NonNull;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
@ -71,6 +69,12 @@ public class LivePrankAddGiftDialog extends AbsDialogPopupWindow {
|
||||
numberText = findViewById(R.id.number_text);
|
||||
contentText = findViewById(R.id.content_text);
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(backBtn, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
dismiss();
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(giftText, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
@ -122,14 +126,20 @@ public class LivePrankAddGiftDialog extends AbsDialogPopupWindow {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
PrankGiftBean bean = (PrankGiftBean) giftText.getTag();
|
||||
String prankContent = contentText.getText().toString();
|
||||
if (bean == null) {
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "整蠱禮物不能為空" : "A trick gift can't be empty");
|
||||
return;
|
||||
}
|
||||
if (numberText.getTag()==null){
|
||||
if (numberText.getTag()==null||StringUtil.isEmpty(prankContent)){
|
||||
ToastUtil.show(WordUtil.isNewZh() ? "整蠱內容或數量不能為空" : "The content or number of pranks cannot be empty");
|
||||
return;
|
||||
}
|
||||
bean.setNum(Integer.parseInt(numberText.getText().toString()));
|
||||
bean.setTitle(prankContent);
|
||||
onItemClickListener.onItemClick(bean,0);
|
||||
dismiss();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
@ -11,12 +12,17 @@ import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.yunbao.common.bean.PrankGiftBean;
|
||||
import com.yunbao.common.bean.PrankGiftResultBean;
|
||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
||||
import com.yunbao.common.bean.PrankTurntableBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFragment;
|
||||
@ -26,6 +32,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.ViewUtils;
|
||||
@ -35,6 +42,9 @@ import com.yunbao.live.R;
|
||||
import com.yunbao.live.adapter.LivePrankRecyclerAdapter;
|
||||
import com.yunbao.live.socket.SocketRyChatUtil;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@ -146,17 +156,9 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
LiveNetManager.get(mContext).deletePrankGift(mLiveUid, position + "", new HttpCallback<PrankHttpTurntableBean>() {
|
||||
@Override
|
||||
public void onSuccess(PrankHttpTurntableBean data) {
|
||||
initGiftData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
initGiftData();
|
||||
}
|
||||
});
|
||||
giftBeans.remove(position);
|
||||
recyclerAdapter.setList(giftBeans);
|
||||
recyclerAdapter.notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -210,7 +212,7 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
if ((int) mPrankBtn.getTag() == 0) {
|
||||
setPrankConfig();
|
||||
} else {
|
||||
|
||||
setGiftBean(recyclerAdapter.getList());
|
||||
}
|
||||
|
||||
}
|
||||
@ -230,7 +232,6 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
mPrankBtn.setTag(0);
|
||||
}
|
||||
|
||||
|
||||
private void initTab() {
|
||||
TabLayout.Tab turntable = mTabLayout.newTab();
|
||||
TabLayout.Tab gift = mTabLayout.newTab();
|
||||
@ -246,6 +247,7 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
gift.setTag(1);
|
||||
mTabLayout.addTab(turntable);
|
||||
mTabLayout.addTab(gift);
|
||||
mPrankBtn.setTag(0);
|
||||
mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||
@Override
|
||||
public void onTabSelected(TabLayout.Tab tab) {
|
||||
@ -273,6 +275,7 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
mTurntableConfigLayout.setVisibility(View.GONE);
|
||||
mGiftConfigLayout.setVisibility(View.VISIBLE);
|
||||
mBtnAddGift.setVisibility(View.VISIBLE);
|
||||
mGiftNotDate.setVisibility(View.VISIBLE);
|
||||
recyclerAdapter.setViewType(LivePrankRecyclerAdapter.TYPE_GIFT);
|
||||
mPrankBtn.setBackgroundResource(R.drawable.bg_live_prank_gift_set);
|
||||
|
||||
@ -283,7 +286,6 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
}
|
||||
mPrankBtn.setTag(1);
|
||||
recyclerAdapter.clearList();
|
||||
mGiftNotDate.setVisibility(View.VISIBLE);
|
||||
initGiftData();
|
||||
}
|
||||
}
|
||||
@ -301,7 +303,24 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
}
|
||||
|
||||
private void showGiftDialog() {
|
||||
new LivePrankAddGiftDialog(mContext).setGiftBeans(giftBeans).showDialog();
|
||||
LivePrankAddGiftDialog livePrankAddGiftDialog = new LivePrankAddGiftDialog(mContext).setGiftBeans(giftBeans);
|
||||
livePrankAddGiftDialog.setOnItemClickListener(new OnItemClickListener<PrankGiftBean>() {
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
@Override
|
||||
public void onItemClick(PrankGiftBean bean, int position) {
|
||||
giftBeans.add(bean);
|
||||
recyclerAdapter.setList(giftBeans);
|
||||
recyclerAdapter.notifyDataSetChanged();
|
||||
if (giftBeans.size() < 6) {
|
||||
mBtnAddGift.setVisibility(View.VISIBLE);
|
||||
mGiftNotDate.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mBtnAddGift.setVisibility(View.GONE);
|
||||
mGiftNotDate.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
});
|
||||
livePrankAddGiftDialog.showDialog();
|
||||
}
|
||||
|
||||
private void initGiftConfigLayoutView() {
|
||||
@ -312,6 +331,7 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
giftTypeTodoText = (TextView) findViewById(R.id.gift_type_todo);
|
||||
giftTypeNowSwitchText = (TextView) findViewById(R.id.gift_type_now_switch);
|
||||
mBtnAddGift = (Button) findViewById(R.id.gift_add_btn);
|
||||
mBtnAddGift.setVisibility(View.GONE);
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(giftSwitch1Btn, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
@ -356,11 +376,17 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
});
|
||||
}
|
||||
|
||||
private void setGiftBean(PrankGiftBean bean) {
|
||||
LiveNetManager.get(mContext).setPrankGift(mLiveUid, bean.getGiftId(), bean.getNum() + "", bean.getTitle(), new HttpCallback<PrankHttpTurntableBean>() {
|
||||
private void setGiftBean(List<PrankGiftBean> prankGiftBeans) {
|
||||
JSONArray prankJson = getJsonObjects(prankGiftBeans);
|
||||
LiveNetManager.get(mContext).setPrankGift(mLiveUid, giftSwitch1Btn.getTag().equals("true")?"1":"0", new Gson().toJson(prankJson), "1", new HttpCallback<PrankHttpTurntableBean>() {
|
||||
@Override
|
||||
public void onSuccess(PrankHttpTurntableBean data) {
|
||||
initGiftData();
|
||||
if (WordUtil.isNewZh()) {
|
||||
ToastUtil.show("設置成功");
|
||||
} else {
|
||||
ToastUtil.show("successful");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -370,21 +396,40 @@ public class LivePrankDialogFragment extends AbsDialogFragment implements View.O
|
||||
});
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static JSONArray getJsonObjects(List<PrankGiftBean> prankGiftBeans) {
|
||||
JSONArray prankJson = new JSONArray();
|
||||
for (int i = 0; i < prankGiftBeans.size(); i++) {
|
||||
JsonObject temp = new JsonObject();
|
||||
temp.addProperty("gift_id", prankGiftBeans.get(i).getGiftId());
|
||||
temp.addProperty("gift_num", prankGiftBeans.get(i).getNum());
|
||||
temp.addProperty("prank_content", prankGiftBeans.get(i).getTitle());
|
||||
prankJson.add(temp);
|
||||
}
|
||||
return prankJson;
|
||||
}
|
||||
|
||||
private void initGiftData() {
|
||||
LiveNetManager.get(mContext).getPrankGiftList(mLiveUid, new HttpCallback<List<PrankGiftBean>>() {
|
||||
LiveNetManager.get(mContext).getPrankGiftList(mLiveUid, mPrankBtn.getTag().equals("0")?"2":"1",new HttpCallback<PrankGiftResultBean>() {
|
||||
@Override
|
||||
public void onSuccess(List<PrankGiftBean> data) {
|
||||
if (data.size() < 6) {
|
||||
mBtnAddGift.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mBtnAddGift.setVisibility(View.GONE);
|
||||
public void onSuccess(PrankGiftResultBean data) {
|
||||
if(mPrankBtn.getTag().toString().equals("1")){
|
||||
if(data.getPrank_list()!=null){
|
||||
if (data.getPrank_list().size() < 6) {
|
||||
mBtnAddGift.setVisibility(View.VISIBLE);
|
||||
mGiftNotDate.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mBtnAddGift.setVisibility(View.GONE);
|
||||
mGiftNotDate.setVisibility(View.VISIBLE);
|
||||
}
|
||||
mPrankRecyclerView.setVisibility(View.VISIBLE);
|
||||
recyclerAdapter.setViewType(LivePrankRecyclerAdapter.TYPE_GIFT);
|
||||
giftBeans = data.getPrank_list();
|
||||
recyclerAdapter.setList(giftBeans);
|
||||
recyclerAdapter.notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
mGiftNotDate.setVisibility(View.GONE);
|
||||
mPrankRecyclerView.setVisibility(View.VISIBLE);
|
||||
recyclerAdapter.setViewType(LivePrankRecyclerAdapter.TYPE_GIFT);
|
||||
giftBeans = data;
|
||||
recyclerAdapter.setList(data);
|
||||
recyclerAdapter.notifyDataSetChanged();
|
||||
|
||||
/*if (!data.isEmpty()) {
|
||||
|
||||
} else {
|
||||
|
@ -0,0 +1,63 @@
|
||||
package com.yunbao.live.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.Html;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.yunbao.common.dialog.AbsDialogPopupWindow;
|
||||
import com.yunbao.live.R;
|
||||
|
||||
public class LivePrankExplainDialog extends AbsDialogPopupWindow {
|
||||
TextView content;
|
||||
String contentText = "<font color=\"#FFFFFF\">" +
|
||||
"1、當前整蠱分類有哪些?</font> <font color=\"#FFFFFF\"> 當前分爲轉盤整蠱和禮物整蠱。可根據實際情況決定,例如都設置或只設置一種。" +
|
||||
"</font> <font color=\"\">" +
|
||||
"2、轉盤整蠱如何填寫?</font> <font color=\"#F9B003\">\n" +
|
||||
"打開開關→設置價格→填寫6個整蠱→保存設置。\n" +
|
||||
"\n" +
|
||||
"</font> <font color=\"#FFFFFF\">注意:若有人發起整蠱,將提示你完成該整蠱,期間若有人花費鑽石拯救你,則不用完成整蠱。\n</font><font color=\"#FFFFFF\">" +
|
||||
"3、禮物整蠱如何填寫?</font> <font color=\"#F9B003\">\n" +
|
||||
"當前分爲禮物數達成整蠱和連擊數最高整蠱。\n" +
|
||||
"\n" +
|
||||
"禮物數達成整蠱:打開開關→選擇禮物→填寫數量→填寫整蠱→保存設置。\n" +
|
||||
"\n" +
|
||||
"連擊數最高整蠱:打開開關→切換→選擇禮物→填寫整蠱→保存設置。\n</font><font color=\"\">" +
|
||||
"4、整蠱如何填寫?</font> <font color=\"\">\n" +
|
||||
"根據你的實際情況決定。例如:唱歌、跳舞、情書、下蹲、吃辣或其他任意才藝。\n</font><font color=\"\">" +
|
||||
"5、我怎麽知道該做哪些整蠱?</font> <font color=\"\">\n" +
|
||||
"系統將發送消息至彈幕;\n" +
|
||||
"你需要做的整蠱會自動挂起。</font>";
|
||||
|
||||
public LivePrankExplainDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildDialog(XPopup.Builder builder) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bindLayoutId() {
|
||||
return R.layout.dialog_live_prank_add_gift_number;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
initView();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDismiss() {
|
||||
super.onDismiss();
|
||||
}
|
||||
|
||||
void initView() {
|
||||
content = findViewById(R.id.content);
|
||||
content.setText(Html.fromHtml(contentText));
|
||||
}
|
||||
}
|
46
live/src/main/res/layout/dialog_live_prank_explain.xml
Normal file
46
live/src/main/res/layout/dialog_live_prank_explain.xml
Normal file
@ -0,0 +1,46 @@
|
||||
<?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="match_parent"
|
||||
android:layout_height="330dp"
|
||||
android:background="#000002">
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/alive_prank_gift_dialog_explain"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="18dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/icon_back" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title">
|
||||
|
||||
</TextView>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -1,93 +1,49 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<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="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="40dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@drawable/bg_prank_gift_item">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/gift_icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginStart="11dp"
|
||||
android:layout_marginTop="11dp"
|
||||
android:layout_marginBottom="11dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:srcCompat="@tools:sample/avatars" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gift_title"
|
||||
android:id="@+id/gift_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="7dp"
|
||||
android:gravity="top"
|
||||
android:text="TextView"
|
||||
android:textColor="#FFF"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/gift_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="right"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingLeft="8dp"
|
||||
android:text="TextView"
|
||||
android:textColor="#FFF69F"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintStart_toEndOf="@+id/gift_icon"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/gift_close"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/icon_live_prank_gift_item_close" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/live_gift"
|
||||
android:textColor="#808080"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintStart_toEndOf="@+id/gift_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/gift_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gift_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="TextView"
|
||||
android:textColor="#FFF"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintStart_toEndOf="@+id/textView5"
|
||||
app:layout_constraintTop_toBottomOf="@+id/gift_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gift_num"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:text="1"
|
||||
android:textColor="#FFF"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/gift_close" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView8"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:text="@string/lucky_red_envelope_amount"
|
||||
android:textColor="#808080"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/gift_num"
|
||||
app:layout_constraintTop_toBottomOf="@+id/gift_close" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</LinearLayout>
|
@ -128,4 +128,7 @@
|
||||
<string name="live_prank_gift_tips">You can add up to 6, and it is recommended to add 4.</string>
|
||||
|
||||
<string name="alive_prank_gift_add_gift_content_sub">Confirm</string>
|
||||
<string name="alive_prank_gift_dialog_number_title">Quantity</string>
|
||||
<string name="live_prank_gift_dialog_number_btn">+ Set other quantity (up to 9999)</string>
|
||||
<string name="alive_prank_gift_dialog_explain">Trick instructions</string>
|
||||
</resources>
|
@ -134,4 +134,5 @@
|
||||
<string name="alive_prank_gift_add_gift_content_sub">確定</string>
|
||||
<string name="alive_prank_gift_dialog_number_title">禮物數量</string>
|
||||
<string name="live_prank_gift_dialog_number_btn">+ 設置其他數量(最多9999)</string>
|
||||
<string name="alive_prank_gift_dialog_explain">整蠱說明</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user