feat : 代理 UI , 确认自定消息 UI

This commit is contained in:
eggmanQQQ
2025-02-24 16:43:27 +08:00
parent e7d206317f
commit f1fdf6fb3f
16 changed files with 864 additions and 55 deletions

View File

@@ -41,7 +41,7 @@ class HomeFragment : BaseViewBindingFragment<FragmentHomeBinding>(), View.OnClic
//todo do 测试代码
context?.let {
// val i = 1/0
val i = 1/0
// DemoActivity.start(it)
RoomLuckyBagDialog().show(it)
// R.string._ver_24_cpInRoomTips.getString("string-1", "string-2", "string-3").doToastDeBug()

View File

@@ -194,10 +194,13 @@ class GiveGoldActivity : BaseViewBindingActivity<ActivityGiveGoldBinding>() {
binding.arDetail.click {
GiveGoldBiliActivity.start(context)
}
binding.enDetail.click {
GiveGoldBiliActivity.start(context)
}
binding.agentNum.click {
GiveGoldAgentsActivity.start(context)
}
}

View File

@@ -0,0 +1,78 @@
package com.chwl.app.pay.activity
import android.content.Context
import android.content.Intent
import com.chwl.app.R
import com.chwl.app.base.BaseViewBindingActivity
import com.chwl.app.bindadapter.BaseBindingAdapter
import com.chwl.app.databinding.ActivityGiveGoldAgentsBinding
import com.chwl.app.databinding.ItemGiveGoldAgentBinding
import com.chwl.app.ui.bean.GiveGoldAgentBean
import com.chwl.app.ui.bean.RechargeUserInfo
import com.chwl.core.bean.response.ServiceResult
import com.chwl.core.utils.extension.toast
import com.chwl.core.utils.net.RxHelper
import com.chwl.library.net.rxnet.RxNet
import com.example.lib_utils.ktx.getString
import io.reactivex.Single
import retrofit2.http.GET
class GiveGoldAgentsActivity : BaseViewBindingActivity<ActivityGiveGoldAgentsBinding>() {
companion object {
@JvmStatic
fun start(context: Context) {
val starter = Intent(context, GiveGoldAgentsActivity::class.java)
context.startActivity(starter)
}
}
private lateinit var mAdapter : GiveGoldAgentsAdapter
override fun init() {
initWhiteTitleBar(R.string._ver_23_Sub_Recharge_Agent_List.getString())
mAdapter = GiveGoldAgentsAdapter()
binding.rvList.adapter = mAdapter
getRechargeUserInfo().compose(bindToLifecycle())
.doOnSuccess {
}
.doOnError {
it?.message?.toast()
}
.subscribe()
}
public class GiveGoldAgentsAdapter : BaseBindingAdapter<ItemGiveGoldAgentBinding, GiveGoldAgentBean>() {
override fun onBindView(viewBinding: ItemGiveGoldAgentBinding, data: GiveGoldAgentBean, pos: Int) {
viewBinding.avatar
viewBinding.nick
viewBinding.erBanNo
viewBinding.starLayout
viewBinding.time
viewBinding.coin
}
}
private fun getRechargeUserInfo(): Single<RechargeUserInfo> {
return api.getRechargeUserInfo()
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers())
}
private val api: Api = RxNet.create(Api::class.java);
interface Api {
@GET("/recharge/user/info")
fun getRechargeUserInfo(): Single<ServiceResult<RechargeUserInfo>>
}
}

View File

@@ -0,0 +1,269 @@
package com.chwl.app.pay.activity
import android.content.Context
import android.content.Intent
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.chwl.app.avroom.bean.LuckyBagDetailEntity.BiliType.RECEIVED
import com.chwl.app.base.BaseViewBindingActivity
import com.chwl.app.bindadapter.BaseBindingAdapter
import com.chwl.app.databinding.ActivityGiveGoldBiliBinding
import com.chwl.app.databinding.ItemGiveGoldBiliBinding
import com.chwl.app.ui.bean.GiveGoldBiliBean
import com.chwl.app.ui.bean.RechargeUserInfo
import com.chwl.core.bean.response.ServiceResult
import com.chwl.core.user.UserModel
import com.chwl.core.utils.net.RxHelper
import com.chwl.library.common.util.ClickUtils.click
import com.chwl.library.common.util.doToast
import com.chwl.library.common.util.isVerify
import com.chwl.library.common.util.setVis
import com.chwl.library.net.rxnet.RxNet
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadmoreListener
import io.reactivex.Single
import retrofit2.http.GET
class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding>() {
companion object {
@JvmStatic
fun start(context: Context) {
val starter = Intent(context, GiveGoldBiliActivity::class.java)
context.startActivity(starter)
}
}
lateinit var mAdapter: GiveGoldBiliAdapter
private var mCycle = -1;
private var mTab = -1;
private var mDataThisCycleEn = mutableListOf<GiveGoldBiliBean>()
private var mDataThisCycleAR = mutableListOf<GiveGoldBiliBean>()
private var mDataLastCycleEn = mutableListOf<GiveGoldBiliBean>()
private var mDataLastCycleAR = mutableListOf<GiveGoldBiliBean>()
private var mPageNumThisCycleEn = 1
private var mPageNumThisCycleAR = 1
private var mPageNumLastCycleEn = 1
private var mPageNumLastCycleAR = 1
override fun init() {
binding.thisCycle.click {
switchCycle(it)
}
binding.LastCycle.click {
switchCycle(it)
}
binding.btnUs.click {
switchTab(it)
}
binding.btnEn.click {
switchTab(it)
}
binding.tabLayout.setVis(UserModel.get().isArUser)
binding.time
binding.totalCoin
binding.srlLayout.setOnRefreshLoadmoreListener(object : OnRefreshLoadmoreListener {
override fun onRefresh(p0: RefreshLayout?) {
}
override fun onLoadmore(p0: RefreshLayout?) {
}
})
mAdapter = GiveGoldBiliAdapter()
binding.rvList.layoutManager = LinearLayoutManager(context, RecyclerView.VERTICAL, false)
binding.rvList.adapter = mAdapter
}
private fun switchCycle(view: View) {
if (mCycle == view.id) return
mCycle = view.id
loadData()
}
private fun switchTab(view: View) {
if (mTab == view.id) return
mTab = view.id
loadData()
}
private fun loadData() {
if (mCycle == -1 && mTab == -1) return
val data = getData(arrayListOf())
if (data.isVerify()) {
mAdapter.setNewData(data)
} else {
getRechargeUserInfo(getPageNum(), mCycle, mTab)
.compose(bindToLifecycle())
.doOnSuccess {
if (getPageNum() == 1) {
mAdapter.setNewData(getData(arrayListOf()))
} else {
mAdapter.addData(getData(arrayListOf()))
}
// if (it.size == 20) {
// if (mCycle == binding.thisCycle.id) {
// if (mTab == binding.btnEn.id) {
// mPageNumThisCycleEn++
// } else {
// mPageNumThisCycleAR++
// }
// } else {
// if (mTab == binding.btnEn.id) {
// mPageNumLastCycleEn++
// } else {
// mPageNumLastCycleAR++
// }
// }
// }
// binding.srlLayout.isEnableLoadmore = it.size == 20
binding.srlLayout.finishLoadmore()
}
.doOnError {
it?.message?.doToast()
binding.srlLayout.finishLoadmore()
}.subscribe()
}
}
private fun getData(data: List<GiveGoldBiliBean>): List<GiveGoldBiliBean> {
if (mCycle == binding.thisCycle.id) {
if (mTab == binding.btnEn.id) {
if (data.isVerify()) {
if (mDataThisCycleEn.isVerify()) {
mDataThisCycleEn.addAll(data)
} else {
mDataThisCycleEn = data.toMutableList()
}
}
return mDataThisCycleEn
} else {
if (data.isVerify()) {
if (mDataThisCycleAR.isVerify()) {
mDataThisCycleAR.addAll(data)
} else {
mDataThisCycleAR = data.toMutableList()
}
}
return mDataThisCycleAR
}
} else {
if (mTab == binding.btnEn.id) {
if (data.isVerify()) {
if (mDataLastCycleEn.isVerify()) {
mDataLastCycleEn.addAll(data)
} else {
mDataLastCycleEn = data.toMutableList()
}
}
return mDataLastCycleEn
} else {
if (data.isVerify()) {
if (mDataLastCycleAR.isVerify()) {
mDataLastCycleAR.addAll(data)
} else {
mDataLastCycleAR = data.toMutableList()
}
}
return mDataLastCycleAR
}
}
}
private fun getPageNum(): Int {
if (mCycle == binding.thisCycle.id) {
if (mTab == binding.btnEn.id) {
return mPageNumThisCycleEn
} else {
return mPageNumThisCycleAR
}
} else {
if (mTab == binding.btnEn.id) {
return mPageNumLastCycleEn
} else {
return mPageNumLastCycleAR
}
}
}
public class GiveGoldBiliAdapter :
BaseBindingAdapter<ItemGiveGoldBiliBinding, GiveGoldBiliBean>() {
override fun onBindView(
viewBinding: ItemGiveGoldBiliBinding,
data: GiveGoldBiliBean,
pos: Int
) {
viewBinding.day.setVis(true)
viewBinding.day.text = pos.toString()
viewBinding.avatar
viewBinding.nick
viewBinding.erBanNo
viewBinding.coin
viewBinding.time
}
}
private fun getRechargeUserInfo(
pageNum: Int,
mCycle: Int,
mTab: Int
): Single<RechargeUserInfo> {
return api.getRechargeUserInfo()
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers())
}
private fun getRechargeUserInfo2(
pageNum: Int,
mCycle: Int,
mTab: Int
): Single<RechargeUserInfo> {
return api.getRechargeUserInfo()
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers())
}
private val api: Api = RxNet.create(Api::class.java);
interface Api {
@GET("/recharge/user/info")
fun getRechargeUserInfo(): Single<ServiceResult<RechargeUserInfo>>
@GET("/recharge/user/info")
fun getRechargeUserInfo2(): Single<ServiceResult<RechargeUserInfo>>
}
}

View File

@@ -0,0 +1,8 @@
package com.chwl.app.ui.bean;
import lombok.Data;
@Data
public class GiveGoldAgentBean {
}

View File

@@ -0,0 +1,8 @@
package com.chwl.app.ui.bean;
import lombok.Data;
@Data
public class GiveGoldBiliBean {
}

View File

@@ -2,6 +2,7 @@ package com.chwl.app.ui.im.chat;
import android.graphics.Color;
import android.graphics.Typeface;
import android.view.View;
import android.widget.TextView;
import com.chwl.app.R;
@@ -38,6 +39,7 @@ public class MsgViewHolderConfirm extends MsgViewHolderBase {
private TextView mContent;
private TextView mConfirm;
private TextView mCancel;
private View mSpace;
public MsgViewHolderConfirm(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter);
@@ -54,6 +56,7 @@ public class MsgViewHolderConfirm extends MsgViewHolderBase {
mContent = findViewById(R.id.content);
mConfirm = findViewById(R.id.confirm);
mCancel = findViewById(R.id.cancel);
mSpace = findViewById(R.id.space1);
}
@Override
@@ -72,17 +75,24 @@ public class MsgViewHolderConfirm extends MsgViewHolderBase {
return;
}
Boolean handleApply = null;
Boolean handleApply;
if (message.getLocalExtension() != null) {
Map<String, Object> localExtension = message.getLocalExtension();
if (localExtension.containsKey("handleApply")){
Object handleApplyValue = localExtension.get("handleApply");
if (handleApplyValue instanceof Boolean) {
handleApply = (boolean) handleApplyValue;
} else {
handleApply = null;
}
} else {
handleApply = null;
}
} else {
handleApply = null;
}
// MsgAttachment attachment = message.getAttachment();
// if(attachment instanceof MsgConfirmMsgAttachment){
// MsgConfirmEntity data = ((MsgConfirmMsgAttachment) attachment).getMsgConfirmEntity();
@@ -105,19 +115,8 @@ public class MsgViewHolderConfirm extends MsgViewHolderBase {
setTextStyles(mContent,data.getContent(),data.getContentsStyles());
}
if (data.isDef()) {
OtherExtKt.setVis(mConfirm,true,false);
OtherExtKt.setVis(mCancel,true,false);
}else if (data.isConfirm()) {
OtherExtKt.setVis(mConfirm,true,false);
OtherExtKt.setVis(mCancel,false,false);
}else if (data.isCancel()) {
OtherExtKt.setVis(mConfirm,false,false);
OtherExtKt.setVis(mCancel,true,false);
}else {
OtherExtKt.setVis(mConfirm,false,false);
OtherExtKt.setVis(mCancel,false,false);
}
mConfirm.setOnClickListener(v -> {
@@ -126,7 +125,32 @@ public class MsgViewHolderConfirm extends MsgViewHolderBase {
mCancel.setOnClickListener(v -> {
handleApply(false,data.getCancelUrl());
});
// mContent.setText(message.getUuid()+" 是否处理 = "+handleApply);
if (handleApply != null){
OtherExtKt.setVis(mConfirm,false,false);
OtherExtKt.setVis(mCancel,false,false);
}else {
if (data.isDef()) {
OtherExtKt.setVis(mConfirm,true,false);
OtherExtKt.setVis(mCancel,true,false);
}else if (data.isConfirm()) {
OtherExtKt.setVis(mConfirm,true,false);
OtherExtKt.setVis(mCancel,false,false);
}else if (data.isCancel()) {
OtherExtKt.setVis(mConfirm,false,false);
OtherExtKt.setVis(mCancel,true,false);
}else {
OtherExtKt.setVis(mConfirm,false,false);
OtherExtKt.setVis(mCancel,false,false);
}
}
OtherExtKt.postSafe(mSpace, () -> {
OtherExtKt.setViewWH(mConfirm,mSpace.getWidth(), null,false);
OtherExtKt.setViewWH(mCancel,mSpace.getWidth(), null,false);
return null;
});
}
// }

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#e29030"
android:endColor="#fcc074" />
<corners android:radius="25dp" />
</shape>

View File

@@ -0,0 +1,24 @@
<?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="match_parent">
<com.chwl.app.base.TitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:layout_marginTop="18dp"
android:id="@+id/rvList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/title_bar" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,138 @@
<?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="match_parent"
xmlns:tools="http://schemas.android.com/tools">
<com.chwl.app.base.TitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30"
app:layout_constraintTop_toTopOf="parent" />
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/thisCycle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="7dp"
android:text="@string/_ver_23_This_Cycle"
android:textColor="@color/color_313131"
android:textSize="16sp"
android:textStyle="bold"
app:dt_drawableBottomHeight="3dp"
app:dt_drawableBottomSrc="@drawable/e29030_fcc974_draw"
app:dt_drawableBottomWidth="13dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/title_bar" />
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/LastCycle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="31dp"
android:layout_marginTop="7dp"
android:text="@string/_ver_23_Last_Cycle"
android:textColor="@color/color_313131"
android:textSize="16sp"
android:textStyle="bold"
app:dt_drawableBottomHeight="3dp"
app:dt_drawableBottomSrc="@drawable/transparent_draw"
app:dt_drawableBottomWidth="13dp"
app:layout_constraintStart_toEndOf="@id/thisCycle"
app:layout_constraintTop_toBottomOf="@id/title_bar" />
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
tools:text="time"
app:layout_constraintStart_toStartOf="@id/thisCycle"
app:layout_constraintTop_toBottomOf="@id/thisCycle" />
<LinearLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="13dp"
android:background="@drawable/base_shape_f7f7f7_25dp"
app:layout_constraintTop_toBottomOf="@id/time">
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/btnUs"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="@string/_ver_23_Us_Settlement"
android:textSize="13sp"
app:dt_drawableType="shape"
app:dt_radius="25dp"
app:dt_soildColor="@color/transparent" />
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/btnEn"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="@string/_ver_23_Transfer_Coins"
android:textSize="13sp"
app:dt_drawableType="shape"
app:dt_radius="25dp"
app:dt_soildColor="@color/transparent" />
</LinearLayout>
<TextView
android:id="@+id/totalTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="11dp"
android:text="@string/_ver_23_Total_Amount_of_Transfer_Coins"
android:textColor="@color/color_313131"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/thisCycle"
app:layout_constraintTop_toBottomOf="@+id/tabLayout" />
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/totalCoin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:drawablePadding="4dp"
app:dt_drawableRightSrc="@drawable/ic_coin_84"
android:text="0"
android:textColor="@color/color_ff8c03"
android:textSize="26sp"
android:textStyle="bold"
app:dt_drawableType="shape"
app:dt_drawableRightHeight="30dp"
app:dt_drawableRightWidth="30dp"
app:layout_constraintStart_toStartOf="@id/totalTitle"
app:layout_constraintTop_toBottomOf="@id/totalTitle" />
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/srlLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/totalCoin">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvList"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -2,11 +2,11 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300dp"
android:layout_width="245dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="20dp"
android:paddingVertical="10dp"
android:paddingHorizontal="8dp"
android:paddingBottom="8dp"
tools:text="@string/layout_im_customer_msg_text_01">
<TextView
@@ -14,8 +14,10 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingVertical="10dp"
android:text="title"
android:paddingVertical="8dp"
android:text="@string/loading"
android:textColor="@color/color_313131"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -27,7 +29,7 @@
android:layout_marginTop="10dp"
android:gravity="center"
android:paddingVertical="10dp"
android:text="content"
android:text="@string/loading"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/title" />
@@ -37,26 +39,65 @@
android:id="@+id/confirm"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:minHeight="30dp"
android:paddingVertical="7dp"
android:layout_marginHorizontal="6dp"
android:layout_marginTop="20dp"
android:background="@color/blue"
android:gravity="center"
android:paddingVertical="10dp"
android:text="confirm"
android:text="@string/text_agree"
android:textColor="@color/white"
android:textSize="14sp"
android:textStyle="bold"
android:visibility="gone"
app:dt_drawableType="shape"
app:dt_endColor="#fcc074"
app:dt_radius="117dp"
app:dt_startColor="@color/color_e29030"
app:layout_constraintEnd_toStartOf="@id/cancel"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/content" />
app:layout_constraintTop_toBottomOf="@id/content"
tools:visibility="visible" />
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:minHeight="30dp"
android:paddingVertical="7dp"
android:layout_marginHorizontal="6dp"
android:layout_marginTop="20dp"
android:background="@color/yellow"
android:gravity="center"
android:paddingVertical="10dp"
android:text="cancel"
android:text="@string/Reject"
android:textColor="@color/color_7b7b7d"
android:textSize="14sp"
android:textStyle="bold"
android:visibility="gone"
app:dt_drawableType="shape"
app:dt_radius="117dp"
app:dt_soildColor="@color/color_ebebeb"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/confirm"
app:layout_constraintTop_toBottomOf="@id/content" />
app:layout_constraintTop_toBottomOf="@id/content"
tools:visibility="visible" />
<View
android:id="@+id/space1"
android:layout_width="0dp"
android:layout_height="20dp"
android:layout_marginHorizontal="6dp"
app:layout_constraintEnd_toStartOf="@id/space2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/content"
tools:background="@color/blue" />
<View
android:id="@+id/space2"
android:layout_width="0dp"
android:layout_height="20dp"
android:layout_marginHorizontal="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/space1"
app:layout_constraintTop_toBottomOf="@id/content"
tools:background="@color/blue" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:paddingHorizontal="9dp"
android:background="@drawable/shape_f4f4f4_radius_8dp"
android:layout_height="80dp">
<ImageView
android:id="@+id/avatar"
android:layout_width="55dp"
android:layout_height="55dp"
android:src="@drawable/default_avatar"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/nick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:text="@string/loading"
android:textColor="@color/color_333333"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar" />
<TextView
android:id="@+id/erBanNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="1dp"
android:text="@string/loading"
android:textColor="@color/color_7b7b7d"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="@id/nick"
app:layout_constraintTop_toBottomOf="@id/nick" />
<LinearLayout
android:id="@+id/starLayout"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:orientation="horizontal"
android:paddingEnd="5dp"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintStart_toStartOf="@id/nick"
app:layout_constraintTop_toBottomOf="@id/erBanNo"
tools:layout_width="100dp" />
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="@string/loading"
android:textColor="@color/color_7b7b7d"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/avatar" />
<TextView
android:id="@+id/coin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="@string/loading"
android:textColor="@color/color_ff8c03"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@id/time"
app:layout_constraintTop_toBottomOf="@id/time" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_marginBottom="14dp"
android:layout_height="wrap_content">
<TextView
android:id="@+id/day"
android:layout_width="match_parent"
android:layout_height="38dp"
android:background="@color/color_F4F4F4"
android:gravity="center_vertical"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="111111" />
<ImageView
android:id="@+id/avatar"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/default_avatar"
android:layout_marginTop="12dp"
android:layout_marginStart="15dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/day" />
<TextView
android:id="@+id/nick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="11dp"
android:layout_marginTop="3dp"
android:textColor="@color/color_313131"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar" />
<TextView
android:id="@+id/erBanNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:textColor="@color/color_7b7b7d"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="@id/nick"
app:layout_constraintTop_toBottomOf="@id/nick" />
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/coin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="15dp"
android:drawablePadding="4dp"
android:text="0"
android:textColor="@color/color_ff8c03"
android:textSize="16sp"
android:textStyle="bold"
app:dt_drawableRightHeight="22dp"
app:dt_drawableRightSrc="@drawable/ic_coin_84"
app:dt_drawableRightWidth="22dp"
app:dt_drawableType="shape"
app:layout_constraintBottom_toBottomOf="@id/nick"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/nick" />
<TextView
android:id="@+id/time"
app:layout_constraintTop_toBottomOf="@id/coin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="@id/coin"
android:textColor="@color/color_7b7b7d"
android:textSize="13sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="11dp"
android:background="@color/color_F4F4F4"
app:layout_constraintTop_toBottomOf="@id/avatar" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -5460,6 +5460,13 @@ You cannot join again within 24 hours after leaving</string>
<string name="_ver_23_History">History</string>
<string name="_ver_23_Transfer">Transfer</string>
<string name="_ver_23_This_Cycle">This Cycle</string>
<string name="_ver_23_Last_Cycle">Last Cycle</string>
<string name="_ver_23_Total_Amount_of_Transfer_Coins">Total Amount of Transfer Coins</string>
<string name="_ver_23_Sub_Recharge_Agent_List">Sub Recharge Agent List</string>
<!-- <string name="_ver_23_">xxxx</string>-->

View File

@@ -12,7 +12,6 @@ import android.widget.TextView
import androidx.core.text.TextUtilsCompat
import androidx.core.text.clearSpans
import androidx.core.view.ViewCompat
import androidx.core.view.isVisible
import androidx.core.widget.TextViewCompat
import com.chwl.library.BuildConfig
import com.chwl.library.utils.ResUtil
@@ -87,16 +86,25 @@ fun View.setViewWH(width:Int?=null, height:Int?=null,isDP:Boolean = true) {
fun View.setVis(isVis:Boolean,isInVis:Boolean = false) {
if (isInVis) {
if (isVis) {
this.visibility = View.VISIBLE
if (this.visibility != View.VISIBLE){
this.visibility = View.VISIBLE
}
} else {
this.visibility = View.INVISIBLE
if (this.visibility != View.INVISIBLE){
this.visibility = View.INVISIBLE
}
}
} else {
if (this.isVisible != isVis) {
this.isVisible = isVis
if (isVis) {
if (this.visibility != View.VISIBLE){
this.visibility = View.VISIBLE
}
} else {
if (this.visibility != View.GONE){
this.visibility = View.GONE
}
}
}
}
fun View.setRL() {

View File

@@ -1,21 +1,45 @@
{
"first": 116,
"second": 1160,
"data": {
"url": "/guildMember/quitAudit?uid\u003d3224\u0026",
"title": "title32245444444",
"titleFontSize": 15,
"content": "content32245444444",
"contentFontSize": 12,
"layoutType": 1,
"titleStyles": [],
"contentsStyles": [
"contents": [
{
"content": "3224",
"fontSize": 13,
"fontColor": "#333333",
"fontBold": true
"image": "https://image.pekolive.com/image/b92b1deee5a24ee754618d230aed3946.jpeg",
"key": "avatar",
"type": "IMAGE"
},
{
"fontSize": 12,
"key": "nick",
"text": {
"ar": "曜燦殿下45",
"en": "曜燦殿下45",
"zh": "曜燦殿下45"
},
"textColor": "#FEF23E",
"type": "TEXT"
},
{
"fontSize": 12,
"key": "diamondNum",
"text": {
"ar": "7000",
"en": "7000",
"zh": "7000"
},
"textColor": "#00EAFF",
"type": "TEXT"
}
]
}
}(P:13924)(T: Main)at (CustomAttachParser.java: 67)
],
"fontSize": 12,
"partitionId": 2,
"resourceContent": "https://image.molistar.xyz/charge_floating.png",
"resourceHeight": 121,
"resourceTop": -10,
"resourceType": "IMAGE",
"resourceWidth": 750,
"svgaTextKey": "noble_text_tx",
"template": {},
"textColor": "#FFFFFF"
},
"first": 107,
"second": 1071
}