feat: 翻译
@@ -19,12 +19,6 @@ import android.view.animation.AnimationUtils
|
|||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import com.coorchice.library.SuperTextView
|
|
||||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
|
||||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage
|
|
||||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomNotificationAttachment
|
|
||||||
import com.opensource.svgaplayer.*
|
|
||||||
import com.opensource.svgaplayer.SVGAParser.Companion.shareParser
|
|
||||||
import com.chwl.app.R
|
import com.chwl.app.R
|
||||||
import com.chwl.app.avroom.activity.AVRoomActivity
|
import com.chwl.app.avroom.activity.AVRoomActivity
|
||||||
import com.chwl.app.avroom.helper.AnimHelper
|
import com.chwl.app.avroom.helper.AnimHelper
|
||||||
@@ -52,6 +46,12 @@ import com.chwl.core.user.bean.UserInfo
|
|||||||
import com.chwl.core.utils.extension.subAndReplaceDot
|
import com.chwl.core.utils.extension.subAndReplaceDot
|
||||||
import com.chwl.library.utils.ListUtils
|
import com.chwl.library.utils.ListUtils
|
||||||
import com.chwl.library.utils.ResUtil
|
import com.chwl.library.utils.ResUtil
|
||||||
|
import com.coorchice.library.SuperTextView
|
||||||
|
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||||
|
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage
|
||||||
|
import com.netease.nimlib.sdk.chatroom.model.ChatRoomNotificationAttachment
|
||||||
|
import com.opensource.svgaplayer.*
|
||||||
|
import com.opensource.svgaplayer.SVGAParser.Companion.shareParser
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
import io.reactivex.ObservableEmitter
|
import io.reactivex.ObservableEmitter
|
||||||
import io.reactivex.ObservableOnSubscribe
|
import io.reactivex.ObservableOnSubscribe
|
||||||
@@ -749,22 +749,23 @@ class RoomEffectBoxView @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//todo do 进场特效北京背景
|
||||||
private fun memberInSvgaPath(level: Int): String {
|
private fun memberInSvgaPath(level: Int): String {
|
||||||
var path = ""
|
var path = ""
|
||||||
if (level in 30..39) {
|
if (level in 30..39) {
|
||||||
path = "svga/svga_member_in_lv30.svga"
|
path = "svga/experience_entre_effect_30.svga"
|
||||||
} else if (level in 40..49) {
|
} else if (level in 40..49) {
|
||||||
path = "svga/svga_member_in_lv40.svga"
|
path = "svga/experience_entre_effect_40.svga"
|
||||||
} else if (level in 50..59) {
|
} else if (level in 50..59) {
|
||||||
path = "svga/svga_member_in_lv50.svga"
|
path = "svga/experience_entre_effect_50.svga"
|
||||||
} else if (level in 60..69) {
|
} else if (level in 60..69) {
|
||||||
path = "svga/svga_member_in_lv60.svga"
|
path = "svga/experience_entre_effect_60.svga"
|
||||||
} else if (level in 70..79) {
|
} else if (level in 70..79) {
|
||||||
path = "svga/svga_member_in_lv70.svga"
|
path = "svga/experience_entre_effect_70.svga"
|
||||||
} else if (level in 80..89) {
|
} else if (level in 80..89) {
|
||||||
path = "svga/svga_member_in_lv80.svga"
|
path = "svga/experience_entre_effect_80.svga"
|
||||||
} else if (level >= 90) {
|
} else if (level >= 90) {
|
||||||
path = "svga/svga_member_in_lv90.svga"
|
path = "svga/experience_entre_effect_90.svga"
|
||||||
}
|
}
|
||||||
return path
|
return path
|
||||||
}
|
}
|
||||||
|
@@ -21,12 +21,6 @@ import android.widget.ImageView
|
|||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.text.HtmlCompat
|
import androidx.core.text.HtmlCompat
|
||||||
import com.coorchice.library.SuperTextView
|
|
||||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
|
||||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage
|
|
||||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomNotificationAttachment
|
|
||||||
import com.opensource.svgaplayer.*
|
|
||||||
import com.opensource.svgaplayer.SVGAParser.Companion.shareParser
|
|
||||||
import com.chwl.app.R
|
import com.chwl.app.R
|
||||||
import com.chwl.app.avroom.activity.AVRoomActivity
|
import com.chwl.app.avroom.activity.AVRoomActivity
|
||||||
import com.chwl.app.avroom.bean.RoomPlayBean
|
import com.chwl.app.avroom.bean.RoomPlayBean
|
||||||
@@ -48,11 +42,24 @@ import com.chwl.app.utils.SpannableBuilder
|
|||||||
import com.chwl.core.XConstants
|
import com.chwl.core.XConstants
|
||||||
import com.chwl.core.auth.AuthModel
|
import com.chwl.core.auth.AuthModel
|
||||||
import com.chwl.core.decoration.car.bean.CarInfo
|
import com.chwl.core.decoration.car.bean.CarInfo
|
||||||
import com.chwl.core.im.custom.bean.*
|
import com.chwl.core.im.custom.bean.DatingAllNotifyAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.DatingAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.DrawGiftAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.FairyMsgAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.GiftCompoundAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.LevelUpNoticeAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.NotifyH5Attachment
|
||||||
|
import com.chwl.core.im.custom.bean.NotifyH5Info
|
||||||
|
import com.chwl.core.im.custom.bean.RoomBoxPrizeAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.RoomLuckySeaAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.RoomPKAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.RoomRankAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.RoomReceivedLuckyGiftAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.SingleRoomRankAttachment
|
||||||
|
import com.chwl.core.im.custom.bean.TarotAttachment
|
||||||
import com.chwl.core.manager.AvRoomDataManager
|
import com.chwl.core.manager.AvRoomDataManager
|
||||||
import com.chwl.core.manager.IMNetEaseManager
|
import com.chwl.core.manager.IMNetEaseManager
|
||||||
import com.chwl.core.manager.RoomEvent
|
import com.chwl.core.manager.RoomEvent
|
||||||
import com.chwl.core.monsterhunting.SimpleAnimationListener
|
|
||||||
import com.chwl.core.room.bean.DatingNotifyInfo
|
import com.chwl.core.room.bean.DatingNotifyInfo
|
||||||
import com.chwl.core.super_admin.util.SuperAdminUtil
|
import com.chwl.core.super_admin.util.SuperAdminUtil
|
||||||
import com.chwl.core.user.UserModel
|
import com.chwl.core.user.UserModel
|
||||||
@@ -61,6 +68,16 @@ import com.chwl.core.utils.extension.subAndReplaceDot
|
|||||||
import com.chwl.library.utils.ListUtils
|
import com.chwl.library.utils.ListUtils
|
||||||
import com.chwl.library.utils.ResUtil
|
import com.chwl.library.utils.ResUtil
|
||||||
import com.chwl.library.utils.StringUtils
|
import com.chwl.library.utils.StringUtils
|
||||||
|
import com.coorchice.library.SuperTextView
|
||||||
|
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||||
|
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage
|
||||||
|
import com.netease.nimlib.sdk.chatroom.model.ChatRoomNotificationAttachment
|
||||||
|
import com.opensource.svgaplayer.SVGADrawable
|
||||||
|
import com.opensource.svgaplayer.SVGADynamicEntity
|
||||||
|
import com.opensource.svgaplayer.SVGAImageView
|
||||||
|
import com.opensource.svgaplayer.SVGAParser
|
||||||
|
import com.opensource.svgaplayer.SVGAParser.Companion.shareParser
|
||||||
|
import com.opensource.svgaplayer.SVGAVideoEntity
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
import io.reactivex.ObservableEmitter
|
import io.reactivex.ObservableEmitter
|
||||||
import io.reactivex.ObservableOnSubscribe
|
import io.reactivex.ObservableOnSubscribe
|
||||||
@@ -1450,22 +1467,23 @@ class RoomEffectView @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//todo do 进场特效北京背景
|
||||||
private fun memberInSvgaPath(level: Int): String {
|
private fun memberInSvgaPath(level: Int): String {
|
||||||
var path = ""
|
var path = ""
|
||||||
if (level in 30..39) {
|
if (level in 30..39) {
|
||||||
path = "svga/svga_member_in_lv30.svga"
|
path = "svga/experience_entre_effect_30.svga"
|
||||||
} else if (level in 40..49) {
|
} else if (level in 40..49) {
|
||||||
path = "svga/svga_member_in_lv40.svga"
|
path = "svga/experience_entre_effect_40.svga"
|
||||||
} else if (level in 50..59) {
|
} else if (level in 50..59) {
|
||||||
path = "svga/svga_member_in_lv50.svga"
|
path = "svga/experience_entre_effect_50.svga"
|
||||||
} else if (level in 60..69) {
|
} else if (level in 60..69) {
|
||||||
path = "svga/svga_member_in_lv60.svga"
|
path = "svga/experience_entre_effect_60.svga"
|
||||||
} else if (level in 70..79) {
|
} else if (level in 70..79) {
|
||||||
path = "svga/svga_member_in_lv70.svga"
|
path = "svga/experience_entre_effect_70.svga"
|
||||||
} else if (level in 80..89) {
|
} else if (level in 80..89) {
|
||||||
path = "svga/svga_member_in_lv80.svga"
|
path = "svga/experience_entre_effect_80.svga"
|
||||||
} else if (level >= 90) {
|
} else if (level >= 90) {
|
||||||
path = "svga/svga_member_in_lv90.svga"
|
path = "svga/experience_entre_effect_90.svga"
|
||||||
}
|
}
|
||||||
return path
|
return path
|
||||||
}
|
}
|
||||||
|
9
app/src/main/java/com/chwl/app/constants/AnyType.java
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
package com.chwl.app.constants;
|
||||||
|
|
||||||
|
public class AnyType {
|
||||||
|
|
||||||
|
public @interface ObtainWay {
|
||||||
|
int ACT = 2;
|
||||||
|
int Def = 1;
|
||||||
|
}
|
||||||
|
}
|
@@ -4,6 +4,7 @@ import android.view.Gravity
|
|||||||
import com.chwl.app.R
|
import com.chwl.app.R
|
||||||
import com.chwl.app.bindadapter.BaseBindingAdapter
|
import com.chwl.app.bindadapter.BaseBindingAdapter
|
||||||
import com.chwl.app.bindadapter.BaseBindingViewHolder
|
import com.chwl.app.bindadapter.BaseBindingViewHolder
|
||||||
|
import com.chwl.app.constants.AnyType
|
||||||
import com.chwl.app.databinding.ItemDressUpLayoutBinding
|
import com.chwl.app.databinding.ItemDressUpLayoutBinding
|
||||||
import com.chwl.app.decoration.ui.activity.DressUpTabActivity
|
import com.chwl.app.decoration.ui.activity.DressUpTabActivity
|
||||||
import com.chwl.app.decoration.util.DressUpUtil
|
import com.chwl.app.decoration.util.DressUpUtil
|
||||||
@@ -15,6 +16,8 @@ import com.example.lib_utils.ktx.getString
|
|||||||
|
|
||||||
class DressUpAdapter : BaseBindingAdapter<ItemDressUpLayoutBinding, DressUpInfo>() {
|
class DressUpAdapter : BaseBindingAdapter<ItemDressUpLayoutBinding, DressUpInfo>() {
|
||||||
|
|
||||||
|
// val myVipLevel = UserModel.get().cacheLoginUserInfo?.userVipInfoVO?.vipLevel?:-1
|
||||||
|
|
||||||
override fun convert(
|
override fun convert(
|
||||||
helper: BaseBindingViewHolder<ItemDressUpLayoutBinding>,
|
helper: BaseBindingViewHolder<ItemDressUpLayoutBinding>,
|
||||||
item: DressUpInfo
|
item: DressUpInfo
|
||||||
@@ -49,8 +52,16 @@ class DressUpAdapter : BaseBindingAdapter<ItemDressUpLayoutBinding, DressUpInfo>
|
|||||||
DressUpUtil.setTextPrice(binding.price,item)
|
DressUpUtil.setTextPrice(binding.price,item)
|
||||||
binding.price.setVis(!item.isMy)
|
binding.price.setVis(!item.isMy)
|
||||||
|
|
||||||
|
//1-普通 2-活动
|
||||||
binding.discount.text = item.discount.toString()
|
if (item.obtainWay == AnyType.ObtainWay.ACT) {
|
||||||
|
binding.discount.text = R.string.obtainWayActionItem.getString()
|
||||||
|
} else {
|
||||||
|
if (item.vipLimit > 0) {
|
||||||
|
binding.discount.text = R.string.vipLimit.getString(item.vipLimit)
|
||||||
|
} else {
|
||||||
|
binding.discount.text = R.string.vipDiscount.getString(item.vipLevel,"${item.discount}%")
|
||||||
|
}
|
||||||
|
}
|
||||||
binding.discount.setVis(!item.isMy)
|
binding.discount.setVis(!item.isMy)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -58,6 +58,7 @@ class DressUpUtil {
|
|||||||
outData.effectType = inData.effectType
|
outData.effectType = inData.effectType
|
||||||
outData.dressType = inData.dressType
|
outData.dressType = inData.dressType
|
||||||
outData.vipLimit = inData.vipLimit
|
outData.vipLimit = inData.vipLimit
|
||||||
|
outData.vipLevel = inData.vipLevel
|
||||||
outData.id = inData.dressId
|
outData.id = inData.dressId
|
||||||
outData.dressId = inData.id
|
outData.dressId = inData.id
|
||||||
outData.obtainWay = inData.obtainWay
|
outData.obtainWay = inData.obtainWay
|
||||||
@@ -218,7 +219,8 @@ class DressUpUtil {
|
|||||||
textStyle = Typeface.NORMAL
|
textStyle = Typeface.NORMAL
|
||||||
).setTextStyle(
|
).setTextStyle(
|
||||||
text = item.originalPrice,
|
text = item.originalPrice,
|
||||||
textColor = R.color.color_d9e7f7.getColor(),
|
textColor = R.color.color_d9e7f7_50.getColor(),
|
||||||
|
textStyle = Typeface.NORMAL,
|
||||||
delLine = true
|
delLine = true
|
||||||
).apply()
|
).apply()
|
||||||
textView.setVis(true)
|
textView.setVis(true)
|
||||||
|
@@ -107,15 +107,15 @@ class HomeRoomAdapter : BaseMultiItemQuickAdapter<HomeRoomInfo, BaseViewHolder>
|
|||||||
val userAdapter = micUserRecyclerView.adapter as HomeRoomUserAdapter
|
val userAdapter = micUserRecyclerView.adapter as HomeRoomUserAdapter
|
||||||
userAdapter.setNewData(item.micUsers)
|
userAdapter.setNewData(item.micUsers)
|
||||||
|
|
||||||
//todo 小时榜 背景需要更换
|
|
||||||
val topView = helper.getView<ImageView>(R.id.iv_top)
|
val topView = helper.getView<ImageView>(R.id.iv_top)
|
||||||
topView.visibility = View.VISIBLE
|
topView.visibility = View.VISIBLE
|
||||||
if (item.hourTop == 1) {
|
if (item.hourTop == 1) {
|
||||||
topView.setImageResource(R.drawable.home_room_bg_hour_top)
|
topView.setImageResource(R.drawable.ic_home_room_bg_top_1)
|
||||||
} else if (item.hourTop == 2) {
|
} else if (item.hourTop == 2) {
|
||||||
topView.setImageResource(R.drawable.home_room_bg_week_top)
|
topView.setImageResource(R.drawable.ic_home_room_bg_top_2)
|
||||||
}else if (item.hourTop == 3) {
|
}else if (item.hourTop == 3) {
|
||||||
topView.setImageResource(R.drawable.home_room_bg_week_top)
|
topView.setImageResource(R.drawable.ic_home_room_bg_top_3)
|
||||||
} else {
|
} else {
|
||||||
topView.visibility = View.INVISIBLE
|
topView.visibility = View.INVISIBLE
|
||||||
}
|
}
|
||||||
@@ -155,16 +155,17 @@ class HomeRoomAdapter : BaseMultiItemQuickAdapter<HomeRoomInfo, BaseViewHolder>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//todo do 标签
|
// 1 = 热门 2=客服
|
||||||
val title = helper.getView<DrawableTextView>(R.id.tv_room_title)
|
val title = helper.getView<DrawableTextView>(R.id.tv_room_title)
|
||||||
if (item.homeRoomType == 0) {
|
if (item.homeRoomType == 0) {
|
||||||
title.setDrawableEmpty(null,null,R.drawable.transparent_draw.getDrawable(),null)
|
title.setDrawableEmpty(null,null,R.drawable.transparent_draw.getDrawable(),null)
|
||||||
}else if (item.homeRoomType == 1) {
|
}else if (item.homeRoomType == 1) {
|
||||||
title.setDrawableEmpty(null,null,R.drawable.transparent_draw.getDrawable(),null)
|
title.setDrawableEmpty(null,null,R.drawable.ic_home_room_icon_hot.getDrawable(),null)
|
||||||
}else if (item.homeRoomType == 2) {
|
}else if (item.homeRoomType == 2) {
|
||||||
title.setDrawableEmpty(null,null,R.drawable.transparent_draw.getDrawable(),null)
|
title.setDrawableEmpty(null,null,R.drawable.ic_home_room_icon_service.getDrawable(),null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if (item.bannerVoList.isVerify()){
|
if (item.bannerVoList.isVerify()){
|
||||||
|
@@ -720,20 +720,24 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
ivAvatarBgMask.setVisibility(View.INVISIBLE);
|
ivAvatarBgMask.setVisibility(View.INVISIBLE);
|
||||||
ivAvatarBg.setVisibility(View.INVISIBLE);
|
ivAvatarBg.setVisibility(View.INVISIBLE);
|
||||||
|
|
||||||
VipUtil.INSTANCE.setUserBg(userInfo.getInfoCardVo(),mUserCardWearLayout, callBack -> {
|
if (userInfo.getInfoCardVo() != null) {
|
||||||
if (callBack) {
|
VipUtil.INSTANCE.setUserBg(userInfo.getInfoCardVo(), mUserCardWearLayout, callBack -> {
|
||||||
ivAvatarBgMask.setVisibility(View.INVISIBLE);
|
if (callBack) {
|
||||||
ivAvatarBg.setVisibility(View.INVISIBLE);
|
ivAvatarBgMask.setVisibility(View.INVISIBLE);
|
||||||
} else {
|
ivAvatarBg.setVisibility(View.INVISIBLE);
|
||||||
if (avatarBg == null || !avatarBg.equals(userInfo.getAvatar())) {
|
} else {
|
||||||
avatarBg = userInfo.getAvatar();
|
if (avatarBg == null || !avatarBg.equals(userInfo.getAvatar())) {
|
||||||
ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg, 10, 1);
|
avatarBg = userInfo.getAvatar();
|
||||||
ivAvatarBgMask.setVisibility(View.VISIBLE);
|
ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg, 10, 1);
|
||||||
ivAvatarBg.setVisibility(View.VISIBLE);
|
ivAvatarBgMask.setVisibility(View.VISIBLE);
|
||||||
|
ivAvatarBg.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
return null;
|
||||||
return null;
|
});
|
||||||
});
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BIN
app/src/main/res/drawable-ar-xhdpi/ic_home_room_bg_top_1.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
app/src/main/res/drawable-ar-xhdpi/ic_home_room_bg_top_2.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
app/src/main/res/drawable-ar-xhdpi/ic_home_room_bg_top_3.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_dress_up_empty.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_home_room_bg_top_1.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_home_room_bg_top_2.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_home_room_bg_top_3.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_home_room_icon_hot.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_home_room_icon_service.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
@@ -120,7 +120,6 @@
|
|||||||
android:drawablePadding="4dp"
|
android:drawablePadding="4dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textColor="#f8ce1f"
|
android:textColor="#f8ce1f"
|
||||||
android:textStyle="bold"
|
|
||||||
app:autoSizeStepGranularity="@dimen/picker_default_text_size"
|
app:autoSizeStepGranularity="@dimen/picker_default_text_size"
|
||||||
app:dt_drawableLeftHeight="25dp"
|
app:dt_drawableLeftHeight="25dp"
|
||||||
app:dt_drawableLeftSrc="@drawable/ic_coin_84"
|
app:dt_drawableLeftSrc="@drawable/ic_coin_84"
|
||||||
|
@@ -65,7 +65,7 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingBottom="7dp"
|
android:paddingBottom="7dp"
|
||||||
android:textColor="#f8ce1f"
|
android:textColor="#f8ce1f"
|
||||||
android:textSize="15sp"
|
android:textSize="12sp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:dt_drawableLeftHeight="18dp"
|
app:dt_drawableLeftHeight="18dp"
|
||||||
app:dt_drawableLeftSrc="@drawable/ic_coin_84"
|
app:dt_drawableLeftSrc="@drawable/ic_coin_84"
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
app:layout_constraintEnd_toEndOf="@id/picBg"
|
app:layout_constraintEnd_toEndOf="@id/picBg"
|
||||||
app:layout_constraintStart_toStartOf="@id/picBg"
|
app:layout_constraintStart_toStartOf="@id/picBg"
|
||||||
app:layout_constraintTop_toTopOf="@id/picBg"
|
app:layout_constraintTop_toTopOf="@id/picBg"
|
||||||
tools:background="@drawable/icon_room_bg_gif_type"
|
tools:background="@drawable/ic_dress_up_empty"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@@ -5337,11 +5337,18 @@
|
|||||||
<string name="Purchases_hint_info">لا يمكنك تحميل أكثر من 6 صور في المرة الواحدة كخلفية مخصصة\nبمجرد إنشاء الخلفية، لا يمكن إلغاؤها\nسوف نراجع الخلفية التي تم تحميلها خلال 24 ساعة\nإذا تم رفض الخلفية، فسوف تتلقى استردادًا للعملات</string>
|
<string name="Purchases_hint_info">لا يمكنك تحميل أكثر من 6 صور في المرة الواحدة كخلفية مخصصة\nبمجرد إنشاء الخلفية، لا يمكن إلغاؤها\nسوف نراجع الخلفية التي تم تحميلها خلال 24 ساعة\nإذا تم رفض الخلفية، فسوف تتلقى استردادًا للعملات</string>
|
||||||
<string name="chat_limit_tip_title">أنت والآخر لستما صديقين، لذا لا يمكنكما الدردشة بشكل خاص</string>
|
<string name="chat_limit_tip_title">أنت والآخر لستما صديقين، لذا لا يمكنكما الدردشة بشكل خاص</string>
|
||||||
<string name="chat_limit_tip1">كن في اي بي%s بدون أي علاقة، يمكنك الدردشة مع المستخدمين بشكل خاص مجانًا كل يوم، جربه؟</string>
|
<string name="chat_limit_tip1">كن في اي بي%s بدون أي علاقة، يمكنك الدردشة مع المستخدمين بشكل خاص مجانًا كل يوم، جربه؟</string>
|
||||||
<string name="chat_limit_tip2">كن في اي بي%s، يمكنك الحصول على %s حصص كل يوم، والدردشة بشكل خاص مع المستخدمين مجانًا، جرب ذلك؟</string>
|
<string name="chat_limit_tip2">كن في اي بي%2$s، يمكنك الحصول على %1$s حصص كل يوم، والدردشة بشكل خاص مع المستخدمين مجانًا، جرب ذلك؟</string>
|
||||||
<string name="chat_limit_tip3">لقد قمت بالدردشة مع 1000 شخص اليوم، يرجى المحاولة مرة أخرى غدًا.</string>
|
<string name="chat_limit_tip3">لقد قمت بالدردشة مع 1000 شخص اليوم، يرجى المحاولة مرة أخرى غدًا.</string>
|
||||||
<string name="getsVip">%sكن في اي بي</string>
|
<string name="getsVip">%sكن في اي بي</string>
|
||||||
<string name="s_sDays">%s/%s يوم</string>
|
<string name="s_sDays">%1$s/%2$s يوم</string>
|
||||||
<string name="sDays">%s يوم</string>
|
<string name="sDays">%s يوم</string>
|
||||||
<string name="unDay"><1 يوم</string>
|
<string name="unDay"><1 يوم</string>
|
||||||
<string name="s_sDays_s">%s/%s يوم %s</string>
|
<string name="Not_used">غير مستخدم</string>
|
||||||
|
<string name="userInfoBg">الصفحة الرئيسية</string>
|
||||||
|
<string name="My_Dress">ملابسي</string>
|
||||||
|
<string name="limit">محدود</string>
|
||||||
|
<string name="vipLimit">حصريًا لفي اي بي%s</string>
|
||||||
|
<string name="obtainWayAction">احصل عليها فقط في الحدث</string>
|
||||||
|
<string name="obtainWayActionItem">احصل عليها فقط في الحدث، لا يمكن الشراء</string>
|
||||||
|
<string name="s_sDays_s">"%2$s/%1$s يوم %3$s "</string>
|
||||||
</resources>
|
</resources>
|
@@ -5133,11 +5133,18 @@ Toplam imza alın, ilgili ödülü alın
|
|||||||
<string name="Purchases_hint_info">Özel arka plan olarak aynı anda en fazla 6 resim yükleyebilirsiniz.\nArka plan oluşturulduktan sonra iptal edilemez.\nYüklenen arka planı 24 saat içinde inceleyeceğiz.\nArka plan reddedilirse, jeton iadesi alacaksınız.</string>
|
<string name="Purchases_hint_info">Özel arka plan olarak aynı anda en fazla 6 resim yükleyebilirsiniz.\nArka plan oluşturulduktan sonra iptal edilemez.\nYüklenen arka planı 24 saat içinde inceleyeceğiz.\nArka plan reddedilirse, jeton iadesi alacaksınız.</string>
|
||||||
<string name="chat_limit_tip_title">Sen ve diğerleri arkadaş değilsiniz, bu yüzden özel sohbet edemezsiniz.</string>
|
<string name="chat_limit_tip_title">Sen ve diğerleri arkadaş değilsiniz, bu yüzden özel sohbet edemezsiniz.</string>
|
||||||
<string name="chat_limit_tip1">Hiçbir ilişkiniz olmadan %s olun, kullanıcılarla her gün ücretsiz olarak özel olarak sohbet edebilirsiniz, dener misiniz?</string>
|
<string name="chat_limit_tip1">Hiçbir ilişkiniz olmadan %s olun, kullanıcılarla her gün ücretsiz olarak özel olarak sohbet edebilirsiniz, dener misiniz?</string>
|
||||||
<string name="chat_limit_tip2">%s olun, her gün %s kota alabilirsiniz, kullanıcılarla özel olarak ücretsiz sohbet edebilirsiniz, dener misiniz?</string>
|
<string name="chat_limit_tip2">%1$s olun, her gün %2$s kota alabilirsiniz, kullanıcılarla özel olarak ücretsiz sohbet edebilirsiniz, dener misiniz?</string>
|
||||||
<string name="chat_limit_tip3">Bugün 1000 kişiyle sohbet ettiniz, lütfen yarın tekrar deneyin.</string>
|
<string name="chat_limit_tip3">Bugün 1000 kişiyle sohbet ettiniz, lütfen yarın tekrar deneyin.</string>
|
||||||
<string name="getsVip">VIP%s olun</string>
|
<string name="getsVip">VIP%s olun</string>
|
||||||
<string name="s_sDays">%s/%s gün</string>
|
<string name="s_sDays">%1$s/%2$s gün</string>
|
||||||
<string name="sDays">%s gün</string>
|
<string name="sDays">%s gün</string>
|
||||||
<string name="unDay"><1 gün</string>
|
<string name="unDay"><1 gün</string>
|
||||||
<string name="s_sDays_s">%s/%s gün %s</string>
|
<string name="Not_used">Kullanılmadı</string>
|
||||||
|
<string name="userInfoBg">Ana Sayfa</string>
|
||||||
|
<string name="My_Dress">Benim Elbisem</string>
|
||||||
|
<string name="limit">Sınırlı</string>
|
||||||
|
<string name="vipLimit">VIP\'lere özel%s</string>
|
||||||
|
<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>
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -5280,12 +5280,19 @@
|
|||||||
<string name="Purchases_hint_info">您一次最多只能上传 6 张图片作为自定义背景。\n背景一旦创建,就无法取消。\n我们将在 24 小时内审核上传的背景。\n如果背景被拒绝,您将收到金币退款。</string>
|
<string name="Purchases_hint_info">您一次最多只能上传 6 张图片作为自定义背景。\n背景一旦创建,就无法取消。\n我们将在 24 小时内审核上传的背景。\n如果背景被拒绝,您将收到金币退款。</string>
|
||||||
<string name="chat_limit_tip_title">你和對方不是朋友,所以不能私聊。</string>
|
<string name="chat_limit_tip_title">你和對方不是朋友,所以不能私聊。</string>
|
||||||
<string name="chat_limit_tip1">成為%s,不用任何關係,每天都可以免費與用戶私聊,試試看嗎?</string>
|
<string name="chat_limit_tip1">成為%s,不用任何關係,每天都可以免費與用戶私聊,試試看嗎?</string>
|
||||||
<string name="chat_limit_tip2">成為%s,每天可獲得%s個配額,免費與用戶私聊,試試看嗎?</string>
|
<string name="chat_limit_tip2">成為%1$s,每天可獲得%2$s個配額,免費與用戶私聊,試試看嗎?</string>
|
||||||
<string name="chat_limit_tip3">你今天已經與1000人聊天,請明天再試。</string>
|
<string name="chat_limit_tip3">你今天已經與1000人聊天,請明天再試。</string>
|
||||||
<string name="getsVip">成為VIP%s</string>
|
<string name="getsVip">成為VIP%s</string>
|
||||||
<string name="s_sDays">%s/%s天</string>
|
<string name="s_sDays">%1$s/%2$s天</string>
|
||||||
<string name="sDays">%s天</string>
|
<string name="sDays">%s天</string>
|
||||||
<string name="unDay"><1天</string>
|
<string name="unDay"><1天</string>
|
||||||
<string name="s_sDays_s">%s/%s天 %s</string>
|
<string name="Not_used">不使用</string>
|
||||||
|
<string name="userInfoBg">個人主頁</string>
|
||||||
|
<string name="My_Dress">我的裝扮</string>
|
||||||
|
<string name="limit">限時</string>
|
||||||
|
<string name="vipLimit">VIP%s用戶獨享</string>
|
||||||
|
<string name="obtainWayAction">僅參與活動獲得</string>
|
||||||
|
<string name="obtainWayActionItem">僅參與活動獲得,無法購買</string>
|
||||||
|
<string name="s_sDays_s">%1$s/%2$s天 %3$s</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@@ -770,5 +770,6 @@
|
|||||||
<color name="color_ff9741">#ff9741</color>
|
<color name="color_ff9741">#ff9741</color>
|
||||||
<color name="color_ff5656">#ff5656</color>
|
<color name="color_ff5656">#ff5656</color>
|
||||||
<color name="color_d9e7f7">#d9e7f7</color>
|
<color name="color_d9e7f7">#d9e7f7</color>
|
||||||
|
<color name="color_d9e7f7_50">#80D9E7F7</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -5342,22 +5342,24 @@ You cannot join again within 24 hours after leaving</string>
|
|||||||
<string name="Purchases_hint_info">You can only upload up to 6 images at a time as a custom background.\nOnce the background is created, it cannot be canceled.\nWe will review the uploaded background within 24 hours.\nIf the background is rejected, you will receive a refund of coins.</string>
|
<string name="Purchases_hint_info">You can only upload up to 6 images at a time as a custom background.\nOnce the background is created, it cannot be canceled.\nWe will review the uploaded background within 24 hours.\nIf the background is rejected, you will receive a refund of coins.</string>
|
||||||
|
|
||||||
<string name="chat_limit_tip1">Be %s without any relationship, you can chat with users privately for free every day,try it?</string>
|
<string name="chat_limit_tip1">Be %s without any relationship, you can chat with users privately for free every day,try it?</string>
|
||||||
<string name="chat_limit_tip2">Be %s, you can get %s quotas every day, chat privately with users for free, try it?</string>
|
<string name="chat_limit_tip2">Be %1$s, you can get %2$s quotas every day, chat privately with users for free, try it?</string>
|
||||||
<string name="chat_limit_tip3">You have chatted with 1,000 people today, please try again tomorrow.</string>
|
<string name="chat_limit_tip3">You have chatted with 1,000 people today, please try again tomorrow.</string>
|
||||||
<string name="getsVip">Be VIP%s</string>
|
<string name="getsVip">Be VIP%s</string>
|
||||||
|
|
||||||
<string name="s_sDays">%s/%sDays</string>
|
<string name="s_sDays">%1$s/%2$sDays</string>
|
||||||
<string name="sDays">%sDays</string>
|
<string name="sDays">%sDays</string>
|
||||||
<string name="unDay"><1Days</string>
|
<string name="unDay"><1Days</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="Not_used">Not used</string>
|
<string name="Not_used">Not used</string>
|
||||||
<string name="userInfoBg">userInfoBg</string>
|
<string name="userInfoBg">Homepage</string>
|
||||||
<string name="My_Dress">My Dress</string>
|
<string name="My_Dress">My Dress</string>
|
||||||
<string name="limit">limit</string>
|
<string name="limit">Limited</string>
|
||||||
<string name="vipLimit">VIP限制 %s</string>
|
<string name="vipLimit">Exclusive for VIP%s</string>
|
||||||
<string name="obtainWayAction">活动获取 不可购买</string>
|
<string name="vipDiscount">VIP%1$s-%2$s</string>
|
||||||
<string name="s_sDays_s">%s/%sDays %s</string>
|
<string name="obtainWayAction">Only Get by Event</string>
|
||||||
|
<string name="obtainWayActionItem">Only get by event, cannot buy.</string>
|
||||||
|
<string name="s_sDays_s">%1$s/%2$sD %3$s</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
|
@@ -11,6 +11,7 @@ import com.chwl.library.utils.SizeUtils
|
|||||||
import com.example.lib_utils.UiUtils.isRtl
|
import com.example.lib_utils.UiUtils.isRtl
|
||||||
import com.example.lib_utils.ktx.getString
|
import com.example.lib_utils.ktx.getString
|
||||||
import com.hjq.toast.ToastUtils
|
import com.hjq.toast.ToastUtils
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
|
|
||||||
fun View.setMargin(start:Int?=null,top:Int?=null,end:Int?=null,bottom:Int?=null,isDP:Boolean = true) {
|
fun View.setMargin(start:Int?=null,top:Int?=null,end:Int?=null,bottom:Int?=null,isDP:Boolean = true) {
|
||||||
@@ -134,7 +135,7 @@ fun Double?.toNumString(byte:Int = 2) : String {
|
|||||||
if (floatNum == 0.0) {
|
if (floatNum == 0.0) {
|
||||||
return intNum.toString()
|
return intNum.toString()
|
||||||
} else {
|
} else {
|
||||||
val format = String.format("%.${byte}f", this)
|
val format = String.format(Locale.ENGLISH,"%.${byte}f", this)
|
||||||
if (format.endsWith(".00")){
|
if (format.endsWith(".00")){
|
||||||
return intNum.toString()
|
return intNum.toString()
|
||||||
}else if (format.contains(".") && format.endsWith("0")){
|
}else if (format.contains(".") && format.endsWith("0")){
|
||||||
|
154
mode.json
@@ -2,52 +2,112 @@
|
|||||||
"code": 200,
|
"code": 200,
|
||||||
"message": "success",
|
"message": "success",
|
||||||
"data": {
|
"data": {
|
||||||
"totalPage": 1,
|
"uid": 3200,
|
||||||
"nameplateList": [
|
"erbanNo": 991,
|
||||||
{
|
"birth": 1038326400000,
|
||||||
"id": 406,
|
"phone": "04****6556",
|
||||||
"uid": 3224,
|
"phoneAreaCode": "61",
|
||||||
"nameplateId": 101,
|
"nick": "打小就爱哭",
|
||||||
"isCustomWord": true,
|
"defUser": 1,
|
||||||
"word": " 555",
|
"gender": 1,
|
||||||
"remark": " 555",
|
"avatar": "https://image.pekolive.com/6f22d3ae-3575-4719-87e6-8c6d95026124.jpg",
|
||||||
"expireTime": 1738663248000,
|
"region": "沙特阿拉伯",
|
||||||
"createTime": 1731319248000,
|
"userDesc": "",
|
||||||
"updateTime": 1731319248000,
|
"followNum": 1,
|
||||||
"nameplateName": " 555",
|
"fansNum": 4,
|
||||||
"nameplateImage": "https://image.pekolive.com/11094f2f00fb491f963132463bab97ec.png",
|
"hasPrettyErbanNo": true,
|
||||||
"isExpired": false,
|
"hasRegPacket": false,
|
||||||
"expireDays": 74,
|
"userLevelVo": {
|
||||||
"isUsing": true,
|
"experAmount": 22898613,
|
||||||
"iconPic": "https://image.pekolive.com/gonghuizhangmingpaikaobei.png",
|
"charmAmount": 178418802,
|
||||||
"fixedWord": " 555",
|
"experUrl": "https://image.pekolive.com/Wealth_43.png",
|
||||||
"nameplateType": "1",
|
"charmUrl": "https://image.pekolive.com/Charm_51.png",
|
||||||
"dressShopId": 33,
|
"experLevelName": "Lv43",
|
||||||
"dressPrice": 1000,
|
"charmLevelName": "Lv51",
|
||||||
"discountPrice": 950.00,
|
"experLevelGrp": "",
|
||||||
"vipLevel": 6,
|
"charmLevelGrp": "",
|
||||||
"discount": 95,
|
"experLevelSeq": 43,
|
||||||
"dressDay": 9
|
"charmLevelSeq": 51
|
||||||
},
|
},
|
||||||
{
|
"isCustomWord": false,
|
||||||
"id": 407,
|
"newUser": false,
|
||||||
"uid": 3224,
|
"userHeadwear": {
|
||||||
"nameplateId": 100,
|
"uid": 3200,
|
||||||
"isCustomWord": false,
|
"headwearId": 194,
|
||||||
"word": " ",
|
"headwearName": "VIP4頭飾",
|
||||||
"remark": " ",
|
"used": true,
|
||||||
"expireTime": 1733220061000,
|
"buyTime": 1731581298000,
|
||||||
"createTime": 1731319261000,
|
"expireTime": 1732852800000,
|
||||||
"updateTime": 1731319261000,
|
"expireDays": 7,
|
||||||
"nameplateName": "女神",
|
"status": 1,
|
||||||
"nameplateImage": "https://image.pekolive.com/guanfangzhuli-bajisitan.png",
|
"pic": "https://image.pekolive.com/Vip4headdress.png",
|
||||||
"isExpired": false,
|
"effect": "https://image.pekolive.com/Vip4headdress.svga",
|
||||||
"expireDays": 11,
|
"price": 0.00,
|
||||||
"isUsing": false,
|
"renewPrice": 0.00,
|
||||||
"iconPic": "https://image.pekolive.com/guanfangzhuli-bajisitan.png",
|
"days": 15,
|
||||||
"nameplateType": "1"
|
"comeFrom": 3,
|
||||||
}
|
"labelType": 0,
|
||||||
]
|
"limitDesc": "",
|
||||||
|
"originalPrice": 10000,
|
||||||
|
"redirectLink": "",
|
||||||
|
"type": 1
|
||||||
|
},
|
||||||
|
"isBindPhone": true,
|
||||||
|
"isBindPasswd": true,
|
||||||
|
"isBindPaymentPwd": false,
|
||||||
|
"isCertified": false,
|
||||||
|
"isBindApple": false,
|
||||||
|
"bindType": 3,
|
||||||
|
"userInfoSkillVo": {
|
||||||
|
"liveTag": false,
|
||||||
|
"liveSkillVoList": []
|
||||||
|
},
|
||||||
|
"platformRole": 0,
|
||||||
|
"privatePhoto": [],
|
||||||
|
"registerDay": 95,
|
||||||
|
"createTime": 1724299157000,
|
||||||
|
"isFirstCharge": false,
|
||||||
|
"isReview": false,
|
||||||
|
"userVipInfoVO": {
|
||||||
|
"vipIcon": "https://image.pekolive.com/v6.png",
|
||||||
|
"vipLevel": 6,
|
||||||
|
"vipName": "VIP6",
|
||||||
|
"vipLogo": "https://image.pekolive.com/v6.mp4",
|
||||||
|
"userCardBG": "https://image.molistar.xyz/V6_user_bg.png\n\n",
|
||||||
|
"nameplateId": 6,
|
||||||
|
"nameplateUrl": "https://image.molistar.xyz/VIP6_nameplate.png",
|
||||||
|
"micCircle": "https://image.molistar.xyz/v6_mic_cycle.svga",
|
||||||
|
"micNickColour": "#A5FFDC",
|
||||||
|
"friendNickColour": "#A5FFDC",
|
||||||
|
"preventKick": false,
|
||||||
|
"enterHide": false,
|
||||||
|
"preventTrace": false,
|
||||||
|
"preventFollow": false,
|
||||||
|
"uploadGifAvatar": false,
|
||||||
|
"privateChatLimit": false,
|
||||||
|
"enterRoomEffects": "https://image.molistar.xyz/v6_enter_effect.svga",
|
||||||
|
"expireTime": 1732680000000
|
||||||
|
},
|
||||||
|
"userInfoCardPic": "https://image.molistar.xyz/v6_info_card.mp4",
|
||||||
|
"micCircle": "https://image.molistar.xyz/v6_mic_cycle.svga",
|
||||||
|
"micNickColor": "#A5FFDC",
|
||||||
|
"audioCard": {
|
||||||
|
"uid": 3200,
|
||||||
|
"status": 0
|
||||||
|
},
|
||||||
|
"labels": [],
|
||||||
|
"androidBubbleUrl": "https://image.molistar.xyz/v5_chatbubble_android.png",
|
||||||
|
"iosBubbleUrl": "https://image.molistar.xyz/v5_chatbubble_ios.png",
|
||||||
|
"fromSayHelloChannel": false,
|
||||||
|
"showLimitCharge": false,
|
||||||
|
"banAccount": false,
|
||||||
|
"isRechargeUser": false,
|
||||||
|
"inMic": false,
|
||||||
|
"partitionId": 2,
|
||||||
|
"infoCardVo": {
|
||||||
|
"effectType": 0,
|
||||||
|
"effect": "https://image.molistar.xyz/v6_info_card.mp4"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"timestamp": 1732272347736
|
"timestamp": 1732517418215
|
||||||
}
|
}
|
||||||
|