fix : bugfix
@@ -250,7 +250,7 @@ public class App extends BaseApp {
|
||||
ServiceResult<?> serviceResult = (ServiceResult<?>) result;
|
||||
if (serviceResult.getCode() == ServiceResult.CODE_NEED_COMPLETE_USER_INFO) {
|
||||
SingleToastUtil.showToast(serviceResult.getMessage());
|
||||
EventBus.getDefault().post(new NeedCompleteInfoEvent()); //todo do 生日修改异常问题
|
||||
EventBus.getDefault().post(new NeedCompleteInfoEvent());
|
||||
throw new ServerException(serviceResult.getMessage(), serviceResult.getCode());
|
||||
} else if (serviceResult.getCode() == 401) {
|
||||
if ((ServiceTime.INSTANCE.getTime() - logoutEventTime) > 800) {
|
||||
|
@@ -132,7 +132,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
addSingleRoomPKAction(optAdapter); //个播PK
|
||||
// addSendBroadcastAction(optAdapter); //发布广播
|
||||
// addInviteFansOptAdapter(); //邀请粉丝
|
||||
addRoomMusicPlay(optAdapter); //房间类型切换
|
||||
addRoomMusicPlay(optAdapter); //音乐设置
|
||||
addVipSendBroadcastAction(optAdapter); //小喇叭
|
||||
// addRedPacketAction(optAdapter); //红包
|
||||
addRoomSettingAction(optAdapter); //房间设置
|
||||
@@ -661,8 +661,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
boolean isOnMic = AvRoomDataManager.get().isOnMic(AuthModel.get().getCurrentUid());
|
||||
if (!isOnMic) return;
|
||||
|
||||
//todo do 音乐图标待更换
|
||||
optAdapter.addData(new OptAction(R.drawable.icon_room_vip_send_broadcast,
|
||||
optAdapter.addData(new OptAction(R.drawable.icon_room_operation_music,
|
||||
ResUtil.getString(R.string.layout_dialog_voice_seek_02),
|
||||
() -> {
|
||||
if (onActionListener != null) {
|
||||
|
@@ -14,6 +14,7 @@ import com.chwl.library.common.util.isVerify
|
||||
import com.chwl.library.common.util.setViewWH
|
||||
import com.chwl.library.common.util.setVis
|
||||
import com.chwl.library.common.util.toColor
|
||||
import com.example.lib_utils.ktx.dp
|
||||
import com.example.lib_utils.ktx.getString
|
||||
|
||||
class DressUpAdapter : BaseBindingAdapter<ItemDressUpLayoutBinding, DressUpInfo>() {
|
||||
@@ -28,13 +29,14 @@ class DressUpAdapter : BaseBindingAdapter<ItemDressUpLayoutBinding, DressUpInfo>
|
||||
setViewDef(binding)
|
||||
|
||||
|
||||
|
||||
if (item.isSelect) {
|
||||
binding.bg.setBackgroundResource(R.drawable.ic_dress_item_s)
|
||||
} else {
|
||||
binding.bg.setBackgroundResource(R.drawable.ic_dress_item_n)
|
||||
}
|
||||
|
||||
binding.bg.setViewWH(height = if (item.isMy) 190 else 244)
|
||||
|
||||
if (item.isNull) {
|
||||
binding.empty.setVis(true)
|
||||
binding.name.text = R.string.Not_used.getString()
|
||||
@@ -62,10 +64,12 @@ class DressUpAdapter : BaseBindingAdapter<ItemDressUpLayoutBinding, DressUpInfo>
|
||||
//1-普通 2-活动
|
||||
binding.discount.setViewWH(height = ViewGroup.LayoutParams.WRAP_CONTENT, isDP = false)
|
||||
if (item.obtainWay == AnyType.ObtainWay.ACT) {
|
||||
binding.discount.setViewWH(height = 51)
|
||||
binding.discount.setViewWH(height = 48)
|
||||
binding.name.setPadding(0,10.dp,0,10.dp)
|
||||
binding.discount.text = R.string.obtainWayActionItem.getString()
|
||||
} else {
|
||||
binding.discount.setViewWH(height = 30)
|
||||
binding.discount.setViewWH(height = 29)
|
||||
binding.name.setPadding(0,5.dp,0,0)
|
||||
if (item.vipLimit > 0) {
|
||||
binding.discount.text = R.string.vipLimit.getString(item.vipLimit)
|
||||
} else {
|
||||
|
@@ -12,6 +12,7 @@ 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.setVis
|
||||
import com.chwl.library.common.util.toColor
|
||||
import com.chwl.library.net.rxnet.RxNet
|
||||
import com.example.lib_utils.ktx.dp
|
||||
@@ -36,47 +37,63 @@ class DressUpDialog : BaseDialogFragment<DialogDressUpBinding>() {
|
||||
override fun init() {
|
||||
val cacheLoginUserInfo = UserModel.get().cacheLoginUserInfo
|
||||
val myVipLevel = cacheLoginUserInfo?.userVipInfoVO?.vipLevel?: 0
|
||||
var canBuy = true
|
||||
|
||||
mDressUpInfo?.let {
|
||||
binding.name.text = it.name
|
||||
if (it.vipLimit == 0 && it.obtainWay != ObtainWay.ACT){
|
||||
//没有等级限定,且装扮不是活动获得
|
||||
DressUpUtil.setTextPrice(binding.price,it)
|
||||
DressUpUtil.setTextPrice(binding.price,it,false,true)
|
||||
}else{
|
||||
if (it.obtainWay == ObtainWay.ACT) {
|
||||
//装扮是活动获得
|
||||
binding.price.setTextColor("#CCD9E7F7".toColor())
|
||||
binding.price.setVis(true)
|
||||
binding.price.text = R.string.obtainWayAction.getString()
|
||||
canBuy = false
|
||||
}else if (it.vipLimit != 0) {
|
||||
if (myVipLevel >= it.vipLimit) {
|
||||
DressUpUtil.setTextPrice(binding.price,it)
|
||||
DressUpUtil.setTextPrice(binding.price,it,false,true)
|
||||
} else {
|
||||
//装扮vip等级限制没达到
|
||||
binding.price.setTextColor("#CCD9E7F7".toColor())
|
||||
binding.price.setVis(true)
|
||||
binding.price.text = R.string.vipLimit.getString(it.vipLimit)
|
||||
canBuy =false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DressUpUtil.setItemPic(it,binding.picLayout)
|
||||
DressUpUtil.setDialogPic(it,binding.picLayout)
|
||||
|
||||
}
|
||||
if (mTargetUid != -1L) {
|
||||
binding.btnBuy.text = R.string.fairy_give.getString()
|
||||
binding.btnBuy.setGradientDrawable(
|
||||
"#b2fcff".toColor(),
|
||||
-1,
|
||||
"#4da2ea".toColor(),
|
||||
-1,-1f
|
||||
)
|
||||
|
||||
if (canBuy) {
|
||||
binding.btnBuy.setVis(true)
|
||||
if (mTargetUid != -1L) {
|
||||
binding.btnBuy.text = R.string.fairy_give.getString()
|
||||
binding.btnBuy.setGradientDrawable(
|
||||
"#b2fcff".toColor(),
|
||||
-1,
|
||||
"#4da2ea".toColor(),
|
||||
-1,-1f
|
||||
)
|
||||
} else {
|
||||
binding.btnBuy.text = R.string.buy.getString()
|
||||
binding.btnBuy.setGradientDrawable(
|
||||
"#FFE3b2".toColor(),
|
||||
-1,
|
||||
"#e9a71d".toColor(),
|
||||
-1,-1f
|
||||
)
|
||||
}
|
||||
} else {
|
||||
binding.btnBuy.text = R.string.buy.getString()
|
||||
binding.btnBuy.setGradientDrawable(
|
||||
"#FFE3b2".toColor(),
|
||||
-1,
|
||||
"#e9a71d".toColor(),
|
||||
-1,-1f
|
||||
)
|
||||
binding.btnCancel.text = R.string.ok.getString()
|
||||
binding.btnBuy.setVis(false)
|
||||
}
|
||||
|
||||
|
||||
|
||||
binding.btnBuy.click {
|
||||
mDressUpInfo?.let {
|
||||
if (mTargetUid != -1L) {
|
||||
|
@@ -3,7 +3,6 @@ package com.chwl.app.decoration.ui.activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import com.alibaba.fastjson.JSON
|
||||
@@ -137,13 +136,13 @@ class DressUpTabActivity : BaseViewBindingActivity<ActivityDressUpTabBinding>()
|
||||
binding.viewPage.offscreenPageLimit = 6
|
||||
binding.viewPage.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
|
||||
override fun onPageSelected(position: Int) {
|
||||
selectTab(position)
|
||||
mDressUpInfo = null
|
||||
selectTab(position)
|
||||
|
||||
if (isMy) {
|
||||
binding.bottomView.setVis(false)
|
||||
} else {
|
||||
binding.bottomView.visibility = View.INVISIBLE
|
||||
// binding.bottomView.visibility = View.INVISIBLE
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -190,6 +189,15 @@ class DressUpTabActivity : BaseViewBindingActivity<ActivityDressUpTabBinding>()
|
||||
tabView.tabBg.setBackgroundResource(if (pos == i) R.drawable.ic_dress_tab_bg_s else R.drawable.ic_dress_tab_bg_n)
|
||||
tabView.tabText.alpha = if (pos == i) 1f else 0.5f
|
||||
}
|
||||
|
||||
if (!isMy) {
|
||||
val fg = fgLists?.getOrNull(pos)
|
||||
if (fg != null && fg is DressUpStoreFragment) {
|
||||
fg.selectOne()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -205,13 +213,19 @@ class DressUpTabActivity : BaseViewBindingActivity<ActivityDressUpTabBinding>()
|
||||
binding.avatarHead.loadUrl(data.effect)
|
||||
}
|
||||
} else {
|
||||
// if (data.obtainWay == ObtainWay.ACT) {
|
||||
// binding.bottomView.setVis(false)
|
||||
// }else if (data.vipLimit > 0 && mMyVipLevel < data.vipLimit) {
|
||||
// binding.bottomView.setVis(false)
|
||||
// }else {
|
||||
// binding.bottomView.setVis(true)
|
||||
// DressUpUtil.setTextPrice(binding.price,data)
|
||||
// }
|
||||
if (data.obtainWay == ObtainWay.ACT) {
|
||||
binding.bottomView.setVis(false)
|
||||
}else if (data.vipLimit > 0 && mMyVipLevel < data.vipLimit) {
|
||||
binding.bottomView.setVis(false)
|
||||
}else {
|
||||
}else {
|
||||
binding.bottomView.setVis(true)
|
||||
DressUpUtil.setTextPrice(binding.price,data)
|
||||
DressUpUtil.setTextPrice(binding.price,data,false,false)
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -69,7 +69,8 @@ class DressUpMyFragment : BaseListFragment<DressUpInfo>() {
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (!mAdapter?.data.isVerify()){
|
||||
if (!mAdapter.data.isVerify()){
|
||||
mPosition = -1
|
||||
onRefresh()
|
||||
}
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@ import com.chwl.core.decoration.bean.DecorationInfo
|
||||
import com.chwl.core.decoration.bean.DressUpInfo
|
||||
import com.chwl.core.utils.net.RxHelper
|
||||
import com.chwl.library.common.util.doToast
|
||||
import com.chwl.library.common.util.isVerify
|
||||
import com.chwl.library.common.util.setMargin
|
||||
import com.chwl.library.net.rxnet.RxNet
|
||||
import com.example.lib_utils.ktx.getString
|
||||
@@ -55,8 +56,10 @@ class DressUpStoreFragment: BaseListFragment<DressUpInfo>() {
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
mPosition = -1
|
||||
onLoad()
|
||||
if (!mAdapter.data.isVerify()) {
|
||||
mPosition = -1
|
||||
onLoad()
|
||||
}
|
||||
}
|
||||
|
||||
override fun getAdapter(): BaseBindingAdapter<*, DressUpInfo> {
|
||||
@@ -78,6 +81,9 @@ class DressUpStoreFragment: BaseListFragment<DressUpInfo>() {
|
||||
newData.add(DressUpUtil.tranData(it))
|
||||
}
|
||||
mAdapter.setNewData(newData)
|
||||
binding.rvList.post {
|
||||
setlect(0)
|
||||
}
|
||||
}
|
||||
}
|
||||
.doOnError {
|
||||
@@ -104,22 +110,34 @@ class DressUpStoreFragment: BaseListFragment<DressUpInfo>() {
|
||||
}
|
||||
|
||||
override fun onItemClicks(adapter: BaseBindingAdapter<*, DressUpInfo>?, view: View?, position: Int) {
|
||||
adapter?.data?.getOrNull(position)?.let { data ->
|
||||
setlect(position)
|
||||
}
|
||||
|
||||
private fun setlect(position: Int) {
|
||||
mAdapter?.data?.getOrNull(position)?.let { data ->
|
||||
|
||||
if (mPosition != -1) {
|
||||
adapter?.data?.getOrNull(mPosition)?.isSelect = false
|
||||
adapter?.notifyItemChanged(mPosition)
|
||||
mAdapter?.data?.getOrNull(mPosition)?.isSelect = false
|
||||
mAdapter?.notifyItemChanged(mPosition)
|
||||
}
|
||||
|
||||
mPosition = position
|
||||
adapter?.data?.getOrNull(mPosition)?.isSelect = true
|
||||
adapter?.notifyItemChanged(mPosition)
|
||||
mAdapter?.data?.getOrNull(position)?.isSelect = true
|
||||
mAdapter?.notifyItemChanged(position)
|
||||
|
||||
EventBus.getDefault().post(DressUpEvent(DressUpEvent.Action.Select, data))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun selectOne() {
|
||||
if (mPosition != -1) {
|
||||
mAdapter?.data?.getOrNull(mPosition)?.let { data ->
|
||||
EventBus.getDefault().post(DressUpEvent(DressUpEvent.Action.Select, data))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun getShopList(): Single<List<DecorationInfo>> {
|
||||
return api.getShopList(mDressType)
|
||||
|
@@ -207,64 +207,129 @@ class DressUpUtil {
|
||||
return outData
|
||||
}
|
||||
|
||||
fun setTextPrice(textView: DrawableTextView, item: DressUpInfo,isItemView:Boolean = false,isDialog:Boolean = false) {
|
||||
|
||||
fun setTextPrice(textView: DrawableTextView, item: DressUpInfo,isItemView:Boolean = false) {
|
||||
var oPrice = "0"
|
||||
if (!isDialog && !isItemView) {
|
||||
oPrice = ""
|
||||
} else {
|
||||
oPrice = if (isItemView) NumberUtils.format(item.originalPrice.toDouble(),false) else item.originalPrice
|
||||
}
|
||||
|
||||
val oPrice = if (isItemView) NumberUtils.format(item.originalPrice.toDouble()) else item.originalPrice
|
||||
val price = if (isItemView) NumberUtils.format(item.price.toDouble()) else item.price
|
||||
val price = if (isItemView) NumberUtils.format(item.price.toDouble(),false) else item.price
|
||||
val priceSize = if (isItemView) 13 else if(isDialog) 18 else 16
|
||||
val oPriceSize = if (isItemView) 10 else if(isDialog) 14 else 12
|
||||
|
||||
if (price == oPrice) {
|
||||
val message = R.string.s_sDays_s.getString(price, item.buyDay.toString(), "")
|
||||
|
||||
SpannableTextBuilder(textView).appendText(message)
|
||||
.addTextStyleList(arrayListOf(
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = price
|
||||
textStyle = Typeface.BOLD
|
||||
textSize = priceSize
|
||||
},
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = item.buyDay.toString()
|
||||
textStyle = Typeface.NORMAL
|
||||
textSize = oPriceSize
|
||||
}
|
||||
))
|
||||
.apply()
|
||||
|
||||
// SpannableTextBuilder(textView).appendText(message)
|
||||
// .setTextStyle(
|
||||
// text = price,
|
||||
// textStyle = Typeface.BOLD,
|
||||
// textSize = priceSize
|
||||
// ).setTextStyle(
|
||||
// text = item.buyDay.toString(),
|
||||
// textStyle = Typeface.NORMAL,
|
||||
// textSize = oPriceSize,
|
||||
// )
|
||||
// .apply()
|
||||
|
||||
} else {
|
||||
val message = R.string.s_sDays_s.getString(price, item.buyDay.toString(), oPrice)
|
||||
if (textView.context.isRtl()) {
|
||||
|
||||
SpannableTextBuilder(textView).appendText(message)
|
||||
.addTextStyleList(arrayListOf(
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = item.buyDay.toString()
|
||||
textStyle = Typeface.NORMAL
|
||||
textSize = oPriceSize
|
||||
},
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = price
|
||||
textStyle = Typeface.BOLD
|
||||
textSize = priceSize
|
||||
},
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = oPrice
|
||||
textColor = R.color.color_d9e7f7_50.getColor()
|
||||
textStyle = Typeface.NORMAL
|
||||
delLine = true
|
||||
textSize = oPriceSize
|
||||
}
|
||||
)).apply()
|
||||
|
||||
// SpannableTextBuilder(textView).appendText(message)
|
||||
// .setTextStyle(
|
||||
// text = item.buyDay.toString(),
|
||||
// textStyle = Typeface.NORMAL,
|
||||
// textSize = oPriceSize,
|
||||
// ).setTextStyle(
|
||||
// text = price,
|
||||
// textStyle = Typeface.BOLD,
|
||||
// textSize = priceSize,
|
||||
// ).setTextStyle(
|
||||
// text = oPrice,
|
||||
// textColor = R.color.color_d9e7f7_50.getColor(),
|
||||
// textStyle = Typeface.NORMAL,
|
||||
// delLine = true,
|
||||
// textSize = oPriceSize,
|
||||
// ).apply()
|
||||
|
||||
} else {
|
||||
SpannableTextBuilder(textView).appendText(message)
|
||||
.addTextStyleList(arrayListOf(
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = price
|
||||
textStyle = Typeface.BOLD
|
||||
textSize = priceSize
|
||||
},
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = item.buyDay.toString()
|
||||
textStyle = Typeface.NORMAL
|
||||
textSize = oPriceSize
|
||||
},
|
||||
SpannableTextBuilder.TextStyleBean().apply {
|
||||
text = oPrice
|
||||
textColor = R.color.color_d9e7f7_50.getColor()
|
||||
textStyle = Typeface.NORMAL
|
||||
textSize = oPriceSize
|
||||
delLine = true
|
||||
}
|
||||
)).apply()
|
||||
|
||||
// SpannableTextBuilder(textView).appendText(message)
|
||||
// .setTextStyle(
|
||||
// text = price,
|
||||
// textStyle = Typeface.BOLD,
|
||||
// textSize = priceSize,
|
||||
// ).setTextStyle(
|
||||
// text = item.buyDay.toString(),
|
||||
// textStyle = Typeface.NORMAL,
|
||||
// textSize = oPriceSize,
|
||||
// ).setTextStyle(
|
||||
// text = oPrice,
|
||||
// textColor = R.color.color_d9e7f7_50.getColor(),
|
||||
// textStyle = Typeface.NORMAL,
|
||||
// textSize = oPriceSize,
|
||||
// delLine = true,
|
||||
// ).apply()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -276,7 +341,7 @@ class DressUpUtil {
|
||||
if (data.dressType == DressUpTabActivity.TAB_USER_CARD) {
|
||||
//此时传回的是mp4..
|
||||
// layout.setViewWH()
|
||||
play(data,layout,true)
|
||||
play(data,layout,false)
|
||||
} else {
|
||||
layout.removeAllViews()
|
||||
val pic = ImageView(layout.context)
|
||||
@@ -296,7 +361,33 @@ class DressUpUtil {
|
||||
}
|
||||
}
|
||||
|
||||
fun play(data:DressUpInfo,layout: ViewGroup,isItem :Boolean = false){
|
||||
fun setDialogPic(data:DressUpInfo,layout: ViewGroup) {
|
||||
if (data.dressType == DressUpTabActivity.TAB_USER_CARD) {
|
||||
//此时传回的是mp4..
|
||||
// layout.setViewWH()
|
||||
play(data,layout,true)
|
||||
} else {
|
||||
layout.removeAllViews()
|
||||
val pic = ImageView(layout.context)
|
||||
layout.addView(pic)
|
||||
if (data.dressType == DressUpTabActivity.TAB_CAR) {
|
||||
pic.setViewWH(155,155)
|
||||
}else if (data.dressType == DressUpTabActivity.TAB_HEAD_WEAR) {
|
||||
pic.setViewWH(147,147)
|
||||
}else if (data.dressType == DressUpTabActivity.TAB_USER_CARD) {
|
||||
pic.setViewWH(182,161)
|
||||
}else if (data.dressType == DressUpTabActivity.TAB_NAMEPLATE) {
|
||||
pic.setViewWH(108,30)
|
||||
}else if (data.dressType == DressUpTabActivity.TAB_CHAT_BUBBLE) {
|
||||
pic.setViewWH(100,52)
|
||||
}else if (data.dressType == DressUpTabActivity.TAB_USER_INFO_BG) {
|
||||
pic.setViewWH(163,161)
|
||||
}
|
||||
pic.loadImage(data.pic)
|
||||
}
|
||||
}
|
||||
|
||||
fun play(data:DressUpInfo,layout: ViewGroup){
|
||||
if (data.effect.isVerify()) {
|
||||
|
||||
var animView : AnimView?=null
|
||||
@@ -317,26 +408,22 @@ class DressUpUtil {
|
||||
svgaView.setScaleType(ImageView.ScaleType.FIT_XY)
|
||||
}
|
||||
|
||||
//item 时占满就行
|
||||
if (isItem) {
|
||||
animView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false)
|
||||
svgaView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,false)
|
||||
|
||||
if (data.dressType == TAB_HEAD_WEAR) {
|
||||
animView?.setViewWH(183, 183, true)
|
||||
svgaView?.setViewWH(183, 183, true)
|
||||
} else if (data.dressType == TAB_USER_CARD) {
|
||||
animView?.setViewWH(285, 250, true)
|
||||
svgaView?.setViewWH(285, 250, true)
|
||||
} else if (data.dressType == TAB_USER_INFO_BG) {
|
||||
animView?.setViewWH(305, 300, true)
|
||||
svgaView?.setViewWH(305, 300, true)
|
||||
} else {
|
||||
if (data.dressType == TAB_HEAD_WEAR) {
|
||||
animView?.setViewWH(183, 183, true)
|
||||
svgaView?.setViewWH(183, 183, true)
|
||||
}else if (data.dressType == TAB_USER_CARD) {
|
||||
animView?.setViewWH(285, 250, true)
|
||||
svgaView?.setViewWH(285, 250, true)
|
||||
}else if (data.dressType == TAB_USER_INFO_BG) {
|
||||
animView?.setViewWH(305, 300, true)
|
||||
svgaView?.setViewWH(305, 300, true)
|
||||
} else {
|
||||
animView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false)
|
||||
svgaView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,false)
|
||||
}
|
||||
animView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false)
|
||||
svgaView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false)
|
||||
}
|
||||
|
||||
|
||||
animView?.setAnimListener(object : IAnimListener {
|
||||
override fun onFailed(errorType: Int, errorMsg: String?) { }
|
||||
override fun onVideoComplete() {
|
||||
@@ -371,6 +458,85 @@ class DressUpUtil {
|
||||
animView?.loadAnim2(data.effect,false)
|
||||
svgaView?.loadUrl(data.effect,true)
|
||||
|
||||
}else{
|
||||
layout.setVis(false)
|
||||
layout.removeAllViews()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun play(data:DressUpInfo,layout: ViewGroup,isDialog :Boolean = false){
|
||||
if (data.effect.isVerify()) {
|
||||
|
||||
var animView : AnimView?=null
|
||||
var svgaView : SVGAView?=null
|
||||
|
||||
layout.setVis(true)
|
||||
layout.removeAllViews()
|
||||
|
||||
if (data.effectType == EffectType.MP4) {
|
||||
animView = AnimView(layout.context)
|
||||
layout.addView(animView)
|
||||
animView.setLoop(Int.MAX_VALUE)
|
||||
animView.setScaleType(ScaleType.FIT_XY)
|
||||
} else {
|
||||
svgaView = SVGAView(layout.context)
|
||||
layout.addView(svgaView)
|
||||
svgaView.loops = Int.MAX_VALUE
|
||||
svgaView.setScaleType(ImageView.ScaleType.FIT_XY)
|
||||
}
|
||||
|
||||
//item 时占满就行
|
||||
if (!isDialog) {
|
||||
animView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false)
|
||||
svgaView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,false)
|
||||
} else {
|
||||
if (data.dressType == TAB_USER_CARD) {
|
||||
animView?.setViewWH(182, 161, true)
|
||||
svgaView?.setViewWH(182, 161, true)
|
||||
} else {
|
||||
animView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false)
|
||||
svgaView?.setViewWH(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,false)
|
||||
}
|
||||
}
|
||||
|
||||
// animView?.setAnimListener(object : IAnimListener {
|
||||
// override fun onFailed(errorType: Int, errorMsg: String?) { }
|
||||
// override fun onVideoComplete() {
|
||||
// layout?.post {
|
||||
// animView?.stopPlay()
|
||||
// layout?.removeAllViews()
|
||||
// layout?.setVis(false)
|
||||
// }
|
||||
// }
|
||||
// override fun onVideoDestroy() {}
|
||||
// override fun onVideoRender(frameIndex: Int, config: AnimConfig?) {}
|
||||
// override fun onVideoStart() {}
|
||||
// })
|
||||
//
|
||||
// svgaView?.callback = object : SVGACallback {
|
||||
// override fun onFinished() {
|
||||
// layout?.post {
|
||||
// animView?.stopPlay()
|
||||
// layout?.removeAllViews()
|
||||
// layout?.setVis(false)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// override fun onPause() {}
|
||||
//
|
||||
// override fun onRepeat() {}
|
||||
//
|
||||
// override fun onStep(frame: Int, percentage: Double) {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
animView?.loadAnim2(data.effect,false)
|
||||
svgaView?.loadUrl(data.effect,true)
|
||||
|
||||
}else{
|
||||
layout.setVis(false)
|
||||
layout.removeAllViews()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -39,7 +39,7 @@ class BonsellaJoinAttackButtonView @JvmOverloads constructor(
|
||||
fun getSvgaView() = mBinding.svga
|
||||
|
||||
fun setComboClick(listener: OnClickListener) {
|
||||
mBinding.tvText.singleClick (listener,100)
|
||||
mBinding.tvText.singleClick (listener,200)
|
||||
}
|
||||
|
||||
private val vibrator by lazy {
|
||||
|
@@ -27,7 +27,7 @@ object NumberUtils {
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun format(num:Double):String{
|
||||
fun format(num:Double, roundUp:Boolean = true):String{
|
||||
val longValue = num.roundToLong()
|
||||
return if(num < 10000){
|
||||
if(num - num.toLong() > 0){
|
||||
@@ -36,11 +36,11 @@ object NumberUtils {
|
||||
longValue.toString()
|
||||
}
|
||||
}else if(longValue < 1000000){
|
||||
format(longValue, "K")
|
||||
format(longValue, "K",roundUp = roundUp)
|
||||
}else if(longValue < 1000000000){
|
||||
format(longValue/1000, "M")
|
||||
format(longValue/1000, "M",roundUp = roundUp)
|
||||
}else
|
||||
format(longValue/1000000, "B")
|
||||
format(longValue/1000000, "B",roundUp = roundUp)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_new_user.png
Normal file
After Width: | Height: | Size: 984 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 983 B |
BIN
app/src/main/res/drawable-xhdpi/icon_gift_effect.png
Normal file
After Width: | Height: | Size: 970 B |
Before Width: | Height: | Size: 1007 B |
BIN
app/src/main/res/drawable-xhdpi/icon_gift_exclusive.png
Normal file
After Width: | Height: | Size: 853 B |
Before Width: | Height: | Size: 951 B |
BIN
app/src/main/res/drawable-xhdpi/icon_gift_limit_time.png
Normal file
After Width: | Height: | Size: 893 B |
Before Width: | Height: | Size: 977 B |
BIN
app/src/main/res/drawable-xhdpi/icon_gift_new.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 969 B |
BIN
app/src/main/res/drawable-xhdpi/icon_room_operation_music.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
app/src/main/res/drawable-xhdpi/img.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
@@ -62,15 +62,15 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="71dp"
|
||||
android:layout_width="73dp"
|
||||
android:src="@drawable/default_avatar"
|
||||
android:layout_height="71dp"
|
||||
android:layout_height="73dp"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
<com.chwl.library.widget.SVGAView
|
||||
android:id="@+id/avatarHead"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:layout_width="102dp"
|
||||
android:layout_height="102dp"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="0dp"
|
||||
android:layout_marginTop="15dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/infoLayout"
|
||||
app:stl_distributeEvenly="true"
|
||||
app:stl_indicatorThickness="0dp"
|
||||
|
@@ -1,7 +1,6 @@
|
||||
<?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_height="match_parent"
|
||||
android:background="#02061d">
|
||||
@@ -36,12 +35,12 @@
|
||||
android:paddingStart="45dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:textColor="@color/color_d9e7f7"
|
||||
android:textColorHint="@color/color_d9e7f7"
|
||||
android:textColorHint="@color/color_d9e7f7_50"
|
||||
android:textSize="14sp"
|
||||
android:hint="@string/search_hint"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
tools:text="111" />
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
|
@@ -78,6 +78,7 @@
|
||||
android:id="@+id/rvList"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@+id/forbidHint" />
|
||||
|
||||
@@ -112,13 +113,10 @@
|
||||
|
||||
<com.chwl.library.widget.text.DrawableTextView
|
||||
android:id="@+id/confirm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="234dp"
|
||||
android:layout_height="44dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center"
|
||||
android:maxWidth="234dp"
|
||||
android:maxHeight="44dp"
|
||||
android:paddingHorizontal="96dp"
|
||||
android:text="@string/forbid"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp"
|
||||
|
@@ -3,8 +3,8 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:background="@drawable/ic_dress_dialog_bg"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ic_dress_dialog_bg">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/picLayout"
|
||||
@@ -40,7 +40,7 @@
|
||||
android:drawablePadding="2dp"
|
||||
android:gravity="center"
|
||||
android:textColor="#f8ce1f"
|
||||
android:textSize="18sp"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone"
|
||||
app:dt_drawableLeftHeight="18dp"
|
||||
app:dt_drawableLeftSrc="@drawable/ic_coin_84"
|
||||
@@ -56,9 +56,9 @@
|
||||
android:id="@+id/line"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ic_dress_dialog_line"
|
||||
android:layout_marginHorizontal="23dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:background="@drawable/ic_dress_dialog_line"
|
||||
app:layout_constraintTop_toBottomOf="@id/price" />
|
||||
|
||||
<View
|
||||
@@ -73,7 +73,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="5dp"
|
||||
android:gravity="center"
|
||||
android:minWidth="74dp"
|
||||
android:minWidth="90dp"
|
||||
android:minHeight="32dp"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="6dp"
|
||||
@@ -96,9 +96,10 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="5dp"
|
||||
android:gravity="center"
|
||||
android:minWidth="74dp"
|
||||
android:minWidth="90dp"
|
||||
android:minHeight="32dp"
|
||||
android:paddingHorizontal="12dp"
|
||||
tools:visibility="visible"
|
||||
android:paddingVertical="6dp"
|
||||
android:text="@string/buy"
|
||||
android:textColor="#172055"
|
||||
|
@@ -9,11 +9,10 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bg"
|
||||
android:background="@drawable/ic_dress_item_n"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"/>
|
||||
android:layout_height="244dp"
|
||||
android:background="@drawable/ic_dress_item_n"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<com.chwl.app.common.widget.RectRoundImageView
|
||||
@@ -33,12 +32,12 @@
|
||||
android:id="@+id/picLayout"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="150dp"
|
||||
android:layout_marginTop="9dp"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/picBg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/picBg"
|
||||
app:layout_constraintStart_toStartOf="@+id/picBg"
|
||||
app:layout_constraintTop_toTopOf="@+id/picBg"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
||||
@@ -48,9 +47,10 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="9dp"
|
||||
android:lines="1"
|
||||
android:paddingVertical="6dp"
|
||||
android:paddingTop="5dp"
|
||||
android:textColor="#d9e7f7"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/price"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/picBg"
|
||||
@@ -63,9 +63,9 @@
|
||||
android:layout_marginHorizontal="9dp"
|
||||
android:drawablePadding="2dp"
|
||||
android:gravity="start|center_vertical"
|
||||
android:paddingBottom="7dp"
|
||||
android:textColor="#f8ce1f"
|
||||
android:textSize="12sp"
|
||||
android:paddingVertical="5dp"
|
||||
android:textColor="#F8CE1F"
|
||||
android:textSize="10sp"
|
||||
android:visibility="gone"
|
||||
app:dt_drawableLeftHeight="18dp"
|
||||
app:dt_drawableLeftSrc="@drawable/ic_coin_84"
|
||||
@@ -80,24 +80,20 @@
|
||||
<TextView
|
||||
android:id="@+id/discount"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="30dp"
|
||||
android:layout_height="29dp"
|
||||
android:layout_marginHorizontal="1.5dp"
|
||||
android:gravity="center"
|
||||
android:textColor="#D9E7F7"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:background="@drawable/ic_dress_up_bottom_bg2"
|
||||
android:gravity="center"
|
||||
android:textColor="#80D9E7F7"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/price"
|
||||
tools:text="11111"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<View
|
||||
android:id="@+id/bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1.5dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/discount" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/empty"
|
||||
|
@@ -49,7 +49,7 @@
|
||||
android:layout_width="@dimen/dp_13"
|
||||
android:layout_height="@dimen/dp_13"
|
||||
android:layout_marginEnd="3dp"
|
||||
android:src="@mipmap/ic_pretty_account_13dp"
|
||||
android:src="@mipmap/ic_good_num"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
@@ -44,7 +44,7 @@
|
||||
android:layout_width="@dimen/dp_13"
|
||||
android:layout_height="@dimen/dp_13"
|
||||
android:layout_marginEnd="3dp"
|
||||
android:src="@mipmap/ic_pretty_account_13dp"
|
||||
android:src="@mipmap/ic_good_num"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
@@ -2,6 +2,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"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:background="@color/black"
|
||||
android:layout_height="72dp">
|
||||
|
||||
<ImageView
|
||||
@@ -17,8 +19,10 @@
|
||||
android:id="@+id/name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="1111"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/color_d9e7f7"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintStart_toEndOf="@+id/avatar"
|
||||
@@ -32,8 +36,9 @@
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:alpha="0.5"
|
||||
tools:text="1111"
|
||||
android:textColor="@color/color_d9e7f7"
|
||||
android:textSize="14sp"
|
||||
android:textSize="13sp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/avatar"
|
||||
app:layout_constraintStart_toEndOf="@+id/avatar" />
|
||||
|
||||
@@ -44,10 +49,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:gravity="center"
|
||||
android:minWidth="60dp"
|
||||
android:minHeight="26dp"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="6dp"
|
||||
android:paddingHorizontal="15dp"
|
||||
android:paddingVertical="3dp"
|
||||
android:text="@string/ui_search_searchadapter_03"
|
||||
android:textColor="#172055"
|
||||
android:textSize="14sp"
|
||||
|
BIN
app/src/main/res/mipmap-xhdpi/ic_good_num.png
Normal file
After Width: | Height: | Size: 1002 B |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 475 B |
@@ -1849,7 +1849,7 @@
|
||||
<string name="decoration_view_decorationcommonfragment_02">تأكيد الشراء</string>
|
||||
<string name="decoration_view_decorationcommonfragment_03">شراء</string>
|
||||
<string name="decoration_view_decorationcommonfragment_04">إلغاء</string>
|
||||
<string name="decoration_view_decorationstoreactivity_01">متجر الادوات</string>
|
||||
<string name="decoration_view_decorationstoreactivity_01">مول</string>
|
||||
<string name="decoration_view_decorationstoreactivity_02">أزيائي</string>
|
||||
<string name="decoration_view_decorationstoreactivity_03">الأزياء للرأس</string>
|
||||
<string name="decoration_view_decorationstoreactivity_04">السيارات</string>
|
||||
@@ -5351,4 +5351,10 @@
|
||||
<string name="obtainWayAction">احصل عليها فقط في الحدث</string>
|
||||
<string name="obtainWayActionItem">احصل عليها فقط في الحدث، لا يمكن الشراء</string>
|
||||
<string name="s_sDays_s">"%2$s/%1$s يوم %3$s "</string>
|
||||
<string name="forbid">حظر المشرف الأعلى</string>
|
||||
<string name="forbidHint">وقت الحظر</string>
|
||||
<string name="forbidDesc">سبب الحظر</string>
|
||||
<string name="forbidDescHint">يرجى إدخال سبب الحظر، والذي سيكون مرئيًا في الخلفية</string>
|
||||
<string name="forbidTime">%s ساعات</string>
|
||||
<string name="ageLimitHint">التطبيق يقصر التسجيل على المستخدمين الذين تقل أعمارهم عن 18 عاماً</string>
|
||||
</resources>
|
@@ -1748,7 +1748,7 @@ Toplam imza alın, ilgili ödülü alın
|
||||
<string name="decoration_view_decorationcommonfragment_02">Satın alma onayı</string>
|
||||
<string name="decoration_view_decorationcommonfragment_03">Satın al</string>
|
||||
<string name="decoration_view_decorationcommonfragment_04">İptal</string>
|
||||
<string name="decoration_view_decorationstoreactivity_01">Süsleme Mağazası</string>
|
||||
<string name="decoration_view_decorationstoreactivity_01">Mağaza</string>
|
||||
<string name="decoration_view_decorationstoreactivity_02">Benim Süslemelerim</string>
|
||||
<string name="decoration_view_decorationstoreactivity_03">Başlık</string>
|
||||
<string name="decoration_view_decorationstoreactivity_04">Araç</string>
|
||||
@@ -5147,4 +5147,10 @@ Toplam imza alın, ilgili ödülü alın
|
||||
<string name="obtainWayAction">Yalnızca Etkinliğe Göre Alın</string>
|
||||
<string name="obtainWayActionItem">Yalnızca etkinliğe göre alın, satın alınamaz.</string>
|
||||
<string name="s_sDays_s">%1$s/%2$sgün %3$s</string>
|
||||
<string name="forbid">Süper Yönetici Engelleme</string>
|
||||
<string name="forbidHint">Engellenen zaman</string>
|
||||
<string name="forbidDesc">Engellenme nedeni</string>
|
||||
<string name="forbidDescHint">Lütfen arka planda görünecek olan engelleme nedenini girin</string>
|
||||
<string name="forbidTime">%s saat</string>
|
||||
<string name="ageLimitHint">Bu uygulamada 18 yaş altında olan kişiler hesabı açmaz.</string>
|
||||
</resources>
|
||||
|
@@ -1865,7 +1865,7 @@
|
||||
<string name="decoration_view_decorationcommonfragment_02">購買確認</string>
|
||||
<string name="decoration_view_decorationcommonfragment_03">購買</string>
|
||||
<string name="decoration_view_decorationcommonfragment_04">取消</string>
|
||||
<string name="decoration_view_decorationstoreactivity_01">裝扮商城</string>
|
||||
<string name="decoration_view_decorationstoreactivity_01">商城</string>
|
||||
<string name="decoration_view_decorationstoreactivity_02">我的裝扮</string>
|
||||
<string name="decoration_view_decorationstoreactivity_03">頭飾</string>
|
||||
<string name="decoration_view_decorationstoreactivity_04">座駕</string>
|
||||
@@ -5294,5 +5294,11 @@
|
||||
<string name="obtainWayAction">僅參與活動獲得</string>
|
||||
<string name="obtainWayActionItem">僅參與活動獲得,無法購買</string>
|
||||
<string name="s_sDays_s">%1$s/%2$s天 %3$s</string>
|
||||
<string name="forbid">超级管理员封禁</string>
|
||||
<string name="forbidHint">封禁时间</string>
|
||||
<string name="forbidDesc">封禁原因</string>
|
||||
<string name="forbidDescHint">请输入封禁原因,该原因将在后台可见</string>
|
||||
<string name="forbidTime">%s 小时</string>
|
||||
<string name="ageLimitHint">APP限制18歲以下用戶註冊。</string>
|
||||
|
||||
</resources>
|
@@ -381,7 +381,7 @@
|
||||
<string name="family_customer_service_hotline">Customer Service Hotline: %1$s</string>
|
||||
|
||||
<string name="family_instruction">Family Guide</string>
|
||||
<string name="family_instruction_hint">Quick Start Tutorial</string>
|
||||
<string name="family_instruction_hint">Hızlı Start Tutorial</string>
|
||||
|
||||
<string name="family_ranking_list_label_1">Distance to Previous Rank</string>
|
||||
<string name="family_id">Family ID: %1$s</string>
|
||||
@@ -979,8 +979,8 @@
|
||||
|
||||
<!-- Personal Center -->
|
||||
<string name="me_Individual_center_banner_click">Personal Center Banner Module Click</string>
|
||||
<string name="me_personal_center_quick_access_room">Personal Center Quick Access Room Click Successfully Matched</string>
|
||||
<string name="me_personal_center_fast_into">Personal Center Quick Access Room Click Successfully Matched</string>
|
||||
<string name="me_personal_center_quick_access_room">Personal Center Hızlı Access Room Click Successfully Matched</string>
|
||||
<string name="me_personal_center_fast_into">Personal Center Hızlı Access Room Click Successfully Matched</string>
|
||||
<string name="me_short">Short of Upgrade</string>
|
||||
<string name="me_power_value_escalation">Power Value</string>
|
||||
<string name="me_noble_my_entry_click_event">Noble My Entry Click Event</string>
|
||||
@@ -2102,7 +2102,7 @@
|
||||
<string name="home_fragment_roomsinglefragment_01">No rooms available</string>
|
||||
<string name="home_helper_loadpagedatahelper_01">Loading…</string>
|
||||
<string name="home_helper_openroomhelper_01">Unknown error</string>
|
||||
<string name="erban_home_homeviewmodel_01">Personal center quick entry room click failed to match</string>
|
||||
<string name="erban_home_homeviewmodel_01">Personal center Hızlı entry room click failed to match</string>
|
||||
<string name="erban_home_homeviewmodel_02">Recommended</string>
|
||||
<string name="erban_home_homeviewmodel_03">Recommended</string>
|
||||
<string name="home_presenter_communitynoticepresenter_01">No data</string>
|
||||
@@ -3323,7 +3323,7 @@
|
||||
<string name="layout_fragment_recommend_02">More</string>
|
||||
<string name="layout_fragment_recommend_03">Popular anchors</string>
|
||||
<string name="layout_fragment_recommend_04">More</string>
|
||||
<string name="layout_fragment_room_game_01">Quick match</string>
|
||||
<string name="layout_fragment_room_game_01">Hızlı match</string>
|
||||
<string name="layout_fragment_room_like_01">There are many interesting people and rooms waiting for you to discover~</string>
|
||||
<string name="layout_fragment_room_like_02">Make friends and chat</string>
|
||||
<string name="layout_fragment_room_like_03">People you follow</string>
|
||||
@@ -5240,7 +5240,7 @@ You cannot join again within 24 hours after leaving</string>
|
||||
<string name="medal">Medal</string>
|
||||
<string name="room_type">Room type</string>
|
||||
<string name="switch_room_type_tips">After the setting is completed, members who are out of the microphone order will be removed. Do you confirm the setting?</string>
|
||||
<string name="room_type_classic">Classic</string>
|
||||
<string name="room_type_classic">Klasik</string>
|
||||
<string name="room_type_party">Party</string>
|
||||
<string name="room_type_revelry">Carnival</string>
|
||||
<string name="room_type_using">Using</string>
|
||||
@@ -5361,12 +5361,12 @@ You cannot join again within 24 hours after leaving</string>
|
||||
<string name="obtainWayActionItem">Only get by event, cannot buy.</string>
|
||||
<string name="s_sDays_s">%1$s/%2$sD %3$s</string>
|
||||
|
||||
<string name="forbid">封禁</string>
|
||||
<string name="forbidHint">封禁</string>
|
||||
<string name="forbidDesc">封禁说明</string>
|
||||
<string name="forbidDescHint">封禁说明输入提示</string>
|
||||
<string name="forbidTime">%s 小时</string>
|
||||
<string name="ageLimitHint">18限制</string>
|
||||
<string name="forbid">Super Admin Block</string>
|
||||
<string name="forbidHint">Blocked time</string>
|
||||
<string name="forbidDesc">Blocked reason</string>
|
||||
<string name="forbidDescHint">Please enter the block reason, which will be visible in the background</string>
|
||||
<string name="forbidTime">%s hours</string>
|
||||
<string name="ageLimitHint">APP restricts registration to users under 18 years old.</string>
|
||||
|
||||
</resources>
|
||||
|
||||
|
@@ -122,7 +122,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="3dp"
|
||||
android:src="@mipmap/ic_pretty_account_13dp"
|
||||
android:src="@mipmap/ic_good_num"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
|
@@ -20,7 +20,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
|
||||
import com.chwl.library.R;
|
||||
import com.example.lib_utils.UiUtils;
|
||||
import com.chwl.library.common.util.OtherExtKt;
|
||||
|
||||
|
||||
/**
|
||||
@@ -334,11 +334,11 @@ public class DrawableTextView extends AppCompatTextView {
|
||||
shape.setCornerRadius(radius);
|
||||
} else {//*订购左上角,右上角,右下角,左下角。
|
||||
if (leftTopRadius > 0 || rightTopRadius > 0 || rightBottomRadius > 0 || leftBottomRadius > 0) {
|
||||
// topLeftRadius, topLeftRadius,
|
||||
// topRightRadius, topRightRadius,
|
||||
// bottomRightRadius, bottomRightRadius,
|
||||
// bottomLeftRadius, bottomLeftRadius
|
||||
shape.setCornerRadii(new float[]{leftTopRadius, leftTopRadius, rightTopRadius, rightTopRadius, rightBottomRadius, rightBottomRadius, leftBottomRadius, leftBottomRadius});
|
||||
if (OtherExtKt.isRtl(getContext())) {
|
||||
shape.setCornerRadii(new float[]{rightTopRadius, rightTopRadius,leftTopRadius, leftTopRadius, leftBottomRadius, leftBottomRadius, rightBottomRadius, rightBottomRadius});
|
||||
} else {
|
||||
shape.setCornerRadii(new float[]{leftTopRadius, leftTopRadius, rightTopRadius, rightTopRadius, rightBottomRadius, rightBottomRadius, leftBottomRadius, leftBottomRadius});
|
||||
}
|
||||
}
|
||||
}
|
||||
//设置边框的厚度和颜色
|
||||
@@ -439,7 +439,7 @@ public class DrawableTextView extends AppCompatTextView {
|
||||
paddings[2] = drawableRightPadding;
|
||||
paddings[3] = drawableBottomPadding;
|
||||
|
||||
if (UiUtils.INSTANCE.isRtl(getContext())) {
|
||||
if (OtherExtKt.isRtl(getContext())) {
|
||||
paddings[0] = drawableRightPadding;
|
||||
paddings[2] = drawableLeftPadding;
|
||||
} else {
|
||||
@@ -515,7 +515,7 @@ public class DrawableTextView extends AppCompatTextView {
|
||||
bottom.setBounds(0, 0, getDrawableWidth(bottom, mDrawableBottomWidth), getDrawableHeight(bottom, mDrawableBottomHeight));
|
||||
}
|
||||
|
||||
if (UiUtils.INSTANCE.isRtl(getContext())) {
|
||||
if (OtherExtKt.isRtl(getContext())) {
|
||||
setCompoundDrawables(right, top, left, bottom);
|
||||
} else {
|
||||
setCompoundDrawables(left, top, right, bottom);
|
||||
|
@@ -445,11 +445,13 @@ class SpannableTextBuilder(private val textView: TextView) {
|
||||
fun addTextStyleList(list: List<TextStyleBean>) : SpannableTextBuilder{
|
||||
var start = 0;
|
||||
list.forEach {
|
||||
start = spannableBuilder.indexOf(it.text, start+1)
|
||||
val end = start + it.text.length
|
||||
val indexStart = start
|
||||
val findIndex = spannableBuilder.toString().indexOf(it.text, indexStart)
|
||||
val end = findIndex + it.text.length
|
||||
start = end
|
||||
setTextStyle(
|
||||
it.text,
|
||||
start,
|
||||
findIndex,
|
||||
end,
|
||||
it.textColor,
|
||||
it.backgroundColor,
|
||||
|