酒吧房 交友小屋 UI
@@ -32,7 +32,10 @@ public enum QXRoomSeatViewType {
|
||||
* 酒吧
|
||||
*/
|
||||
PUB(11,"酒吧"),
|
||||
|
||||
/**
|
||||
* 酒吧
|
||||
*/
|
||||
PRIVATE(12,"酒吧交友小屋"),
|
||||
/**
|
||||
* 小黑屋麦位
|
||||
*/
|
||||
|
||||
@@ -16,6 +16,7 @@ enum class RoomType(
|
||||
BLACK_ROOM("小黑屋", 6),
|
||||
JUKEBOX("点唱", 9),
|
||||
PUB_ROOM("酒吧", 11),
|
||||
PRIVATE_ROOM("酒吧交友小屋", 12),
|
||||
MUTUAL_ENTERTAINMENT("互娱", 7),
|
||||
SIGN_CONTRACT("签约", 10);
|
||||
|
||||
|
||||
@@ -2939,10 +2939,18 @@ public class RetrofitClient {
|
||||
public void onResponse(Call<BaseModel<BeforeJoinRoomCheckBean>> call, Response<BaseModel<BeforeJoinRoomCheckBean>> response) {
|
||||
if (response.code() == 200) {
|
||||
BaseModel<BeforeJoinRoomCheckBean> beforeJoinRoomCheckBeanBaseModel = response.body();
|
||||
if (beforeJoinRoomCheckBeanBaseModel.getCode() == 202) {
|
||||
observer.onNext(beforeJoinRoomCheckBeanBaseModel.getData());
|
||||
} else {
|
||||
|
||||
if (beforeJoinRoomCheckBeanBaseModel.getCode() == 1) {
|
||||
observer.onNext(new BeforeJoinRoomCheckBean());
|
||||
} else if (beforeJoinRoomCheckBeanBaseModel.getCode() == 301) {
|
||||
setCode301(beforeJoinRoomCheckBeanBaseModel.getMsg());
|
||||
joinRoomLoadListener.onJoinRoomLoad(beforeJoinRoomCheckBeanBaseModel.getMsg());
|
||||
} else if (beforeJoinRoomCheckBeanBaseModel.getCode() == 0) {
|
||||
ToastUtils.showLong(beforeJoinRoomCheckBeanBaseModel.getMsg());
|
||||
joinRoomLoadListener.onJoinRoomLoad(beforeJoinRoomCheckBeanBaseModel.getMsg());
|
||||
} else if (beforeJoinRoomCheckBeanBaseModel.getCode() == 202) {
|
||||
observer.onNext(beforeJoinRoomCheckBeanBaseModel.getData());
|
||||
joinRoomLoadListener.onJoinRoomLoad(beforeJoinRoomCheckBeanBaseModel.getMsg());
|
||||
}
|
||||
} else {
|
||||
if (joinRoomLoadListener != null) {
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SPConstants {
|
||||
|
||||
public static final String FLOATING_SCREEN = "floatingScreen";//飘屏开关
|
||||
|
||||
public static final String SHELF = "shelf";//货架
|
||||
public static final String SHELF = "shelf";//是否打开趣味玩法
|
||||
|
||||
public static final String TASK_SERVICE="taskService";//切换服务器
|
||||
}
|
||||
|
||||
@@ -127,12 +127,10 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
|
||||
disLoading();
|
||||
}
|
||||
|
||||
private Activity mThis;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
mThis = this;
|
||||
RetrofitClient.getInstance().CpListener(new CPListener() {
|
||||
@Override
|
||||
public void onReceiveMsg(@NotNull RoomMessageEvent roomMessageEvent) {
|
||||
@@ -145,24 +143,12 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
RetrofitClient.getInstance().setJoinRoomLoadListener(result -> {
|
||||
if (mThis instanceof MainActivity) {
|
||||
((MainActivity) mThis).isShowLoading(false);
|
||||
} else if (mThis instanceof MyRoomActivity) {
|
||||
((MyRoomActivity) mThis).isShowLoading(false);
|
||||
} else if (mThis instanceof DailyTasksActivity) {
|
||||
((DailyTasksActivity) mThis).isShowLoading(false);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
mThis = this;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -77,6 +77,7 @@ import com.xscm.moduleutil.dialog.NewPeopleDialog;
|
||||
import com.xscm.moduleutil.dialog.RechargeDialogFragment;
|
||||
import com.xscm.moduleutil.event.RoomOutEvent;
|
||||
import com.xscm.moduleutil.event.UnreadCountEvent;
|
||||
import com.xscm.moduleutil.http.RetrofitClient;
|
||||
import com.xscm.moduleutil.listener.MessageListenerSingleton;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.BackgroundManager;
|
||||
@@ -517,7 +518,9 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
|
||||
//// RoomManager.instance( CommonAppContext.getInstance()).joinRoomWithRoomId(CommonAppContext.getInstance().playId, true);
|
||||
// return;
|
||||
// }
|
||||
|
||||
RetrofitClient.getInstance().setJoinRoomLoadListener(result -> {
|
||||
isShowLoading(false);
|
||||
});
|
||||
MvpPre.loginIm();
|
||||
Logger.i("MainActivity", "onResume");
|
||||
// Beta.checkAppUpgrade(false, false);
|
||||
|
||||
@@ -3728,6 +3728,11 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
setvisibTop(true)
|
||||
QXRoomSeatViewType.PUB
|
||||
}
|
||||
RoomType.PRIVATE_ROOM -> {
|
||||
changeBackgroundColor(mRoomInfoResp?.room_info?.room_background)
|
||||
setvisibTop(true)
|
||||
QXRoomSeatViewType.PRIVATE
|
||||
}
|
||||
null -> {
|
||||
LogUtils.e("@@@", "RoomType is null")
|
||||
QXRoomSeatViewType.NONE
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.xscm.modulemain.activity.room.contacts
|
||||
|
||||
import android.app.Activity
|
||||
import com.xscm.moduleutil.activity.IPresenter
|
||||
import com.xscm.moduleutil.activity.IView
|
||||
import com.xscm.moduleutil.bean.GiftBean
|
||||
import com.xscm.moduleutil.bean.RoonGiftModel
|
||||
import com.xscm.moduleutil.bean.WalletBean
|
||||
|
||||
class PrivateContacts {
|
||||
|
||||
interface View : IView<Activity>{
|
||||
|
||||
fun wallet(list:List<String>,walletBean: WalletBean?)
|
||||
|
||||
fun getGiftList(list: List<RoonGiftModel>)
|
||||
}
|
||||
|
||||
interface Ipre : IPresenter{
|
||||
fun applyPit(roomId:String,pitNumber:String)
|
||||
|
||||
fun getGiftList(roomId: String)
|
||||
|
||||
fun wallet(list:List<String>)
|
||||
}
|
||||
}
|
||||
@@ -103,6 +103,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
|
||||
private RoomMentorShipFragment mentorShipFragment;//签约
|
||||
private RoomPubFragment roomPubFragment;//酒吧
|
||||
private RoomPrivateFragment roomPrivateFragment;//酒吧交友小屋
|
||||
public QXRoomSeatViewType qxRoomSeatViewType;
|
||||
private void setRoomSeatViewType() {
|
||||
if (mRoomInfoResp == null || mRoomInfoResp.getRoom_info() == null) {
|
||||
@@ -132,6 +133,8 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
qxRoomSeatViewType = QXRoomSeatViewType.SIGNCONTRACT;
|
||||
} else if (roomType == RoomType.PUB_ROOM) {
|
||||
qxRoomSeatViewType = QXRoomSeatViewType.PUB;
|
||||
}else if (roomType == RoomType.PRIVATE_ROOM) {
|
||||
qxRoomSeatViewType = QXRoomSeatViewType.PRIVATE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,6 +308,10 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
if (roomPubFragment == currentFragment && roomPubFragment.isAdded()) {
|
||||
roomPubFragment.roomInfoUpdate(mRoomInfoResp);
|
||||
}
|
||||
}else if (roomType == RoomType.PRIVATE_ROOM) {
|
||||
if (roomPrivateFragment == currentFragment && roomPrivateFragment.isAdded()) {
|
||||
roomPrivateFragment.roomInfoUpdate(mRoomInfoResp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -433,6 +440,11 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
|
||||
roomPubFragment = RoomPubFragment.Companion.newInstance(mRoomInfoResp);
|
||||
} else roomPubFragment.roomTypeSwitch(mRoomInfoResp);
|
||||
newFragment = roomPubFragment;
|
||||
} else if (roomType == RoomType.PRIVATE_ROOM) {
|
||||
if (roomPrivateFragment == null) {
|
||||
roomPrivateFragment = RoomPrivateFragment.Companion.newInstance(mRoomInfoResp);
|
||||
} else roomPrivateFragment.roomTypeSwitch(mRoomInfoResp);
|
||||
newFragment = roomPrivateFragment;
|
||||
}
|
||||
|
||||
if (newFragment != null) {
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
package com.xscm.modulemain.activity.room.fragment
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.res.Resources
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.Fragment
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewGroup.LayoutParams
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.ImageView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.blankj.utilcode.util.ActivityUtils
|
||||
import com.bumptech.glide.Glide
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.activity.room.contacts.PrivateContacts
|
||||
import com.xscm.modulemain.activity.room.presenter.PrivatePresenter
|
||||
import com.xscm.modulemain.databinding.FragmentRoomPrivateBinding
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment
|
||||
import com.xscm.moduleutil.bean.RoonGiftModel
|
||||
import com.xscm.moduleutil.bean.WalletBean
|
||||
import com.xscm.moduleutil.bean.room.RoomInfoResp
|
||||
import com.xscm.moduleutil.bean.room.RoomUserBean
|
||||
import com.xscm.moduleutil.utils.ImageUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class RoomPrivateFragment(var mRoomInfoResp: RoomInfoResp?) :
|
||||
BaseMvpFragment<PrivatePresenter, FragmentRoomPrivateBinding>(), PrivateContacts.View {
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.fragment_room_private
|
||||
}
|
||||
|
||||
override fun bindPresenter(): PrivatePresenter {
|
||||
return PrivatePresenter(ActivityUtils.getTopActivity(), this)
|
||||
}
|
||||
|
||||
// 无参构造函数
|
||||
constructor() : this(null)
|
||||
|
||||
companion object {
|
||||
|
||||
fun newInstance(roomInfoResp: RoomInfoResp): RoomPrivateFragment {
|
||||
return RoomPrivateFragment(roomInfoResp)
|
||||
}
|
||||
}
|
||||
|
||||
private var mUserInfo: RoomUserBean? = mRoomInfoResp?.user_info
|
||||
private var mRoomId: String = mRoomInfoResp?.room_info?.room_id!!
|
||||
|
||||
private var giftList: MutableList<RoonGiftModel> = arrayListOf()
|
||||
|
||||
private var giftViewList:MutableList<ImageView> = arrayListOf()
|
||||
|
||||
|
||||
override fun initData() {
|
||||
MvpPre?.getGiftList(mRoomId)
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
giftViewList.clear()
|
||||
giftViewList.add(mBinding?.ivGift1!!)
|
||||
giftViewList.add(mBinding?.ivGift2!!)
|
||||
giftViewList.add(mBinding?.ivGift3!!)
|
||||
giftViewList.add(mBinding?.ivGift4!!)
|
||||
giftViewList.add(mBinding?.ivGift5!!)
|
||||
giftViewList.add(mBinding?.ivGift6!!)
|
||||
|
||||
giftViewList.forEach { it ->
|
||||
it.setOnClickListener {
|
||||
val showList = giftList.shuffled().take(1)
|
||||
for (i in 0 until showList.size) {
|
||||
val itemImage = it
|
||||
val price = showList[i].gift_price.toInt()
|
||||
// 根据价格设置不同的宽高
|
||||
val (width, height) = when {
|
||||
price > 500 -> Pair(64, 64)
|
||||
price > 100 -> Pair(52, 52)
|
||||
else -> Pair(40, 40)
|
||||
}
|
||||
// 设置布局参数(假设itemImage是ImageView)
|
||||
val layoutParams = itemImage.layoutParams
|
||||
layoutParams.width = width.dpToPx() // 需要实现dp转px的扩展函数
|
||||
layoutParams.height = height.dpToPx()
|
||||
itemImage.layoutParams = layoutParams
|
||||
|
||||
// 假设 padding 值(单位:dp)
|
||||
val paddingDp = 8
|
||||
val paddingPx = paddingDp.dpToPx() // 转换为 px
|
||||
// 设置 padding(左、上、右、下)
|
||||
itemImage.setPadding(paddingPx, paddingPx, paddingPx, paddingPx)
|
||||
|
||||
Glide.with(it)
|
||||
.load(showList[i].base_image)
|
||||
.into(it as ImageView)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mBinding?.tvBack?.setOnClickListener {
|
||||
//返回到上一个房间
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun roomInfoUpdate(roomInfoResp: RoomInfoResp) {
|
||||
this.mRoomInfoResp = roomInfoResp
|
||||
mUserInfo = this.mRoomInfoResp?.user_info
|
||||
mRoomId = this.mRoomInfoResp?.room_info?.room_id!!
|
||||
}
|
||||
|
||||
fun roomTypeSwitch(mRoomInfoResp: RoomInfoResp) {
|
||||
this.mRoomInfoResp = mRoomInfoResp
|
||||
|
||||
mUserInfo = this.mRoomInfoResp?.user_info
|
||||
mRoomId = this.mRoomInfoResp?.room_info?.room_id!!
|
||||
initView()
|
||||
}
|
||||
|
||||
|
||||
override fun wallet(list: List<String>, walletBean: WalletBean?) {
|
||||
|
||||
}
|
||||
|
||||
override fun getGiftList(list: List<RoonGiftModel>) {
|
||||
if (giftList.isEmpty()) {
|
||||
giftList = list.toMutableList()
|
||||
val showList = list.shuffled().take(6)
|
||||
|
||||
for (i in 0 until showList.size) {
|
||||
val itemImage = giftViewList[i]
|
||||
val price = showList[i].gift_price.toInt()
|
||||
// 根据价格设置不同的宽高
|
||||
val (width, height) = when {
|
||||
price > 500 -> Pair(64, 64)
|
||||
price > 100 -> Pair(52, 52)
|
||||
else -> Pair(40, 40)
|
||||
}
|
||||
// 设置布局参数(假设itemImage是ImageView)
|
||||
val layoutParams = itemImage.layoutParams
|
||||
layoutParams.width = width.dpToPx() // 需要实现dp转px的扩展函数
|
||||
layoutParams.height = height.dpToPx()
|
||||
itemImage.layoutParams = layoutParams
|
||||
|
||||
// 假设 padding 值(单位:dp)
|
||||
val paddingDp = 8
|
||||
val paddingPx = paddingDp.dpToPx() // 转换为 px
|
||||
// 设置 padding(左、上、右、下)
|
||||
itemImage.setPadding(paddingPx, paddingPx, paddingPx, paddingPx)
|
||||
val delay = 200L * i
|
||||
Glide.with(giftViewList[i])
|
||||
.load(showList[i].base_image)
|
||||
.into(giftViewList[i])
|
||||
Observable.timer(delay,TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe {
|
||||
startSmallFloatingAnimation(giftViewList[i]) // 延迟后执行动画
|
||||
}
|
||||
}
|
||||
}else{
|
||||
giftList.clear()
|
||||
giftList = list.toMutableList()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun startSmallFloatingAnimation(view: View, floatRangeDp: Float = 10f) {
|
||||
// 1. 计算飘动范围(默认 ±10dp,可调整)
|
||||
val floatDistance = floatRangeDp.dpToPx() // 转换为像素
|
||||
|
||||
// 2. 创建 ObjectAnimator(Y 轴从 0 → -floatDistance → 0 → floatDistance → 0)
|
||||
val animator = ObjectAnimator.ofFloat(
|
||||
view,
|
||||
"translationY",
|
||||
0f,
|
||||
floatDistance,
|
||||
0f,
|
||||
-floatDistance,
|
||||
0f
|
||||
)
|
||||
|
||||
// 3. 设置动画参数
|
||||
animator.duration = 2000 // 2秒完成一个周期
|
||||
animator.repeatCount = ObjectAnimator.INFINITE // 无限循环
|
||||
animator.interpolator = LinearInterpolator() // 匀速运动(可改用 AccelerateDecelerateInterpolator)
|
||||
|
||||
// 4. 开始动画
|
||||
animator.start()
|
||||
}
|
||||
|
||||
// 在项目的任意工具类文件中(如 Extensions.kt)
|
||||
fun Int.dpToPx(): Int {
|
||||
return (this * Resources.getSystem().displayMetrics.density).toInt()
|
||||
}
|
||||
|
||||
|
||||
fun Float.dpToPx(): Float {
|
||||
return (this * Resources.getSystem().displayMetrics.density).toFloat()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -77,17 +77,14 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) :
|
||||
view.setData(bean)
|
||||
|
||||
view.iv_custom_gift?.setOnClickListener {
|
||||
ToastUtils.showShort("礼物")
|
||||
GiftGivingDialog(ActivityUtils.getTopActivity(), mRoomId,view.pitBean.user_id,view.pitBean.nickname,view.pitBean.avatar).show()
|
||||
}
|
||||
|
||||
view.ivYueT?.setOnClickListener {
|
||||
ToastUtils.showShort("约她")
|
||||
RoomAboutDialog(ActivityUtils.getTopActivity(),mRoomId,view.pitBean.user_id,view.pitBean.nickname,view.pitBean.avatar).show()
|
||||
}
|
||||
|
||||
view.ivLiaoT?.setOnClickListener {
|
||||
ToastUtils.showShort("撩她")
|
||||
if (!SpUtil.getBooleanValue("pub", false)) {
|
||||
FlirtatiousDialog(ActivityUtils.getTopActivity()).show()
|
||||
}else{
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.xscm.modulemain.activity.room.presenter
|
||||
|
||||
import android.content.Context
|
||||
import com.xscm.modulemain.activity.room.contacts.MentorShipContacts
|
||||
import com.xscm.modulemain.activity.room.contacts.PrivateContacts
|
||||
import com.xscm.modulemain.activity.room.contacts.PubContacts
|
||||
import com.xscm.moduleutil.bean.RoonGiftModel
|
||||
import com.xscm.moduleutil.bean.WalletBean
|
||||
import com.xscm.moduleutil.http.BaseObserver
|
||||
import com.xscm.moduleutil.http.RetrofitClient
|
||||
import com.xscm.moduleutil.presenter.BasePresenter
|
||||
import com.xscm.moduleutil.presenter.RewardGiftContacts
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.lang.ref.WeakReference
|
||||
|
||||
|
||||
class PrivatePresenter(context: Context, val view: PrivateContacts.View?) :
|
||||
BasePresenter<PrivateContacts.View>(view, context), PrivateContacts.Ipre {
|
||||
override fun applyPit(roomId: String, pitNumber: String) {
|
||||
RetrofitClient.getInstance().applyPit(roomId, pitNumber, object : BaseObserver<String?>() {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
addDisposable(d)
|
||||
}
|
||||
|
||||
override fun onNext(s: String) {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun getGiftList(roomId: String) {
|
||||
RetrofitClient.getInstance().getGiftList(5,roomId, object : BaseObserver<List<RoonGiftModel>>() {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
|
||||
}
|
||||
|
||||
override fun onNext(t: List<RoonGiftModel>) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = WeakReference(view)
|
||||
}
|
||||
MvpRef.get()?.getGiftList(t)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
override fun wallet(list:List<String>) {
|
||||
RetrofitClient.getInstance().wallet(object : BaseObserver<WalletBean?>() {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
addDisposable(d)
|
||||
}
|
||||
|
||||
override fun onNext(walletBean: WalletBean) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = WeakReference(view)
|
||||
}
|
||||
MvpRef.get()?.wallet(list,walletBean)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,6 +4,7 @@ package com.xscm.modulemain.activity.user.activity;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -12,6 +13,7 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@@ -25,6 +27,7 @@ import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import com.xscm.modulemain.Application;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.main.activity.MainActivity;
|
||||
import com.xscm.modulemain.activity.room.activity.RoomActivity;
|
||||
import com.xscm.modulemain.adapter.TaskBoxAdapter;
|
||||
import com.xscm.modulemain.adapter.TaskDataAdapter;
|
||||
@@ -39,6 +42,7 @@ import com.xscm.modulemain.dialog.SignInDialog;
|
||||
import com.xscm.modulemain.manager.RoomManager;
|
||||
import com.xscm.moduleutil.base.CommonAppContext;
|
||||
import com.xscm.moduleutil.bean.RoomMessageEvent;
|
||||
import com.xscm.moduleutil.http.RetrofitClient;
|
||||
import com.xscm.moduleutil.utils.CustomMsgCode;
|
||||
import com.xscm.moduleutil.base.WebUrlConstants;
|
||||
import com.xscm.moduleutil.bean.GiftBoxBean;
|
||||
@@ -89,6 +93,15 @@ public class DailyTasksActivity extends BaseMvpActivity<DailyTasksPresenter, Act
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
RetrofitClient.getInstance().setJoinRoomLoadListener(result -> {
|
||||
isShowLoading(false);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.xscm.moduleutil.bean.MyCpRoom;
|
||||
import com.xscm.moduleutil.bean.MyFootResp;
|
||||
import com.xscm.moduleutil.bean.MyRoomBean;
|
||||
import com.xscm.moduleutil.event.RoomOutEvent;
|
||||
import com.xscm.moduleutil.http.RetrofitClient;
|
||||
import com.xscm.moduleutil.utils.ARouteConstants;
|
||||
import com.xscm.moduleutil.utils.ImageLoader;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -108,6 +109,9 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
|
||||
initViewStyles();
|
||||
|
||||
updateSelectedState(0);
|
||||
RetrofitClient.getInstance().setJoinRoomLoadListener(result -> {
|
||||
isShowLoading(false);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
package com.xscm.modulemain.widget
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.ColorStateList
|
||||
import android.content.res.TypedArray
|
||||
import android.graphics.Color
|
||||
import android.text.TextUtils
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.moduleutil.bean.room.RoomPitBean
|
||||
import com.xscm.moduleutil.utils.ImageUtils
|
||||
import com.xscm.moduleutil.widget.BaseWheatView
|
||||
|
||||
class RoomPrivateWheatView : BaseWheatView {
|
||||
constructor(context: Context?) : super(context)
|
||||
|
||||
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
|
||||
|
||||
|
||||
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(
|
||||
context,
|
||||
attrs,
|
||||
defStyleAttr
|
||||
)
|
||||
|
||||
|
||||
private var iv_tag_type: ImageView? = null
|
||||
var iv_custom_gift: ImageView? = null
|
||||
private var hostTv: TextView? = null
|
||||
private var tv_time: TextView? = null
|
||||
private var ll_bottom: LinearLayout? = null
|
||||
|
||||
var ivYueT: ImageView? = null
|
||||
var ivLiaoT: ImageView? = null
|
||||
var ivHeadBg: ImageView? = null
|
||||
|
||||
override fun initPit(context: Context, attrs: AttributeSet) {
|
||||
var typedArray: TypedArray? = null
|
||||
try {
|
||||
typedArray = context.obtainStyledAttributes(
|
||||
attrs,
|
||||
com.xscm.moduleutil.R.styleable.RoomDefaultWheatView
|
||||
)
|
||||
pitNumber =
|
||||
typedArray.getString(com.xscm.moduleutil.R.styleable.RoomDefaultWheatView_room_wheat_number)
|
||||
} finally {
|
||||
typedArray?.recycle()
|
||||
}
|
||||
|
||||
mCharmView = findViewById(R.id.charm_view)
|
||||
mIvRipple = findViewById(R.id.iv_ripple)
|
||||
mIvFrame = findViewById(R.id.iv_frame)
|
||||
mIvShutup = findViewById(R.id.iv_shutup)
|
||||
mRiv = findViewById(R.id.riv)
|
||||
iv_tag_type = findViewById(R.id.iv_tag_type)
|
||||
ll_bottom = findViewById(R.id.ll_bottom)
|
||||
iv_custom_gift = findViewById(R.id.iv_custom_gift)
|
||||
tv_time = findViewById(R.id.tv_time)
|
||||
|
||||
ivYueT = findViewById(R.id.iv_yue_t)
|
||||
ivLiaoT = findViewById(R.id.iv_liao_t)
|
||||
ivHeadBg = findViewById(R.id.iv_head_bg)
|
||||
|
||||
tv_time?.visibility = View.GONE
|
||||
ll_bottom?.visibility = View.GONE
|
||||
iv_custom_gift?.visibility = View.GONE
|
||||
iv_tag_type?.visibility = View.GONE
|
||||
ivHeadBg?.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.layout_room_pub_wheat
|
||||
}
|
||||
|
||||
// 提供一个方法来设置这个属性,便于在代码中动态更改
|
||||
fun setRoomWheatNumber(number: String?) {
|
||||
this.pitNumber = number
|
||||
}
|
||||
|
||||
fun setHostTv(hostTv: TextView) {
|
||||
this.hostTv = hostTv
|
||||
}
|
||||
|
||||
public override fun setPitData(bean: RoomPitBean) {
|
||||
pitBean = bean // 统一使用参数 bean
|
||||
stopAndClearAnimation() // 清理之前的动画资源
|
||||
when (bean.pit_number) {
|
||||
"1" -> {
|
||||
ivHeadBg?.imageTintList = ColorStateList.valueOf(Color.parseColor("#FF7983F6"))
|
||||
}
|
||||
|
||||
"2" -> {
|
||||
ivHeadBg?.imageTintList = ColorStateList.valueOf(Color.parseColor("#FFFB85FF"))
|
||||
}
|
||||
}
|
||||
tv_time?.visibility = View.GONE
|
||||
ll_bottom?.visibility = View.GONE
|
||||
iv_custom_gift?.visibility = View.GONE
|
||||
iv_tag_type?.visibility = View.GONE
|
||||
mCharmView.visibility = View.GONE
|
||||
|
||||
handleOnState(bean)
|
||||
|
||||
}
|
||||
|
||||
fun setSex(value: String?, format: Boolean) {
|
||||
mCharmView.setSex("", "", value, format)
|
||||
}
|
||||
|
||||
|
||||
private fun handleOnState(bean: RoomPitBean) {
|
||||
mIvRipple.visibility = VISIBLE
|
||||
mTvName.text = bean.nickname
|
||||
ImageUtils.loadHeadCC(bean.avatar, mRiv)
|
||||
|
||||
|
||||
if (TextUtils.isEmpty(bean.dress)) {
|
||||
mIvFrame.stopAll()
|
||||
mIvFrame.visibility = INVISIBLE
|
||||
} else {
|
||||
mIvFrame.visibility = VISIBLE
|
||||
mIvFrame.setSource(bean.dress, 3)
|
||||
}
|
||||
}
|
||||
|
||||
private val pitNumberText: String
|
||||
get() {
|
||||
return "虚位以待"
|
||||
}
|
||||
|
||||
|
||||
private fun stopAndClearAnimation() {
|
||||
if (mIvRipple != null) {
|
||||
mIvRipple.stopAnimation(true)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override fun onRemoteSoundLevelUpdate(userId: String, soundLevel: Int) {
|
||||
}
|
||||
|
||||
override fun onLocalSoundLevelUpdate(volume: Int) {
|
||||
}
|
||||
|
||||
override fun userJoined(userId: Int, elapsd: Int) {
|
||||
}
|
||||
|
||||
override fun userOffline(userId: Int, reason: Int) {
|
||||
}
|
||||
|
||||
override fun pkOffSide(userId: Int) {
|
||||
}
|
||||
}
|
||||
@@ -128,6 +128,7 @@ class RoomPubWheatView : BaseWheatView {
|
||||
tv_time?.visibility = View.VISIBLE
|
||||
ll_bottom?.visibility = View.VISIBLE
|
||||
iv_custom_gift?.visibility = View.VISIBLE
|
||||
tv_time?.text = "12:34"
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(bean.dress)) {
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
app:layout_constraintDimensionRatio="1:1.1"
|
||||
app:layout_constraintDimensionRatio="1:1.11"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_midd"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintDimensionRatio="1:1.1"
|
||||
app:layout_constraintDimensionRatio="1:1.11"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_midd"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
213
MainModule/src/main/res/layout/fragment_room_private.xml
Normal file
@@ -0,0 +1,213 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout 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">
|
||||
|
||||
<data>
|
||||
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_400"
|
||||
android:paddingTop="@dimen/dp_14"
|
||||
android:paddingHorizontal="@dimen/dp_14">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_midd"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_left"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.25" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_right"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.75" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_h_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintGuide_percent="0.1" />
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_h_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintGuide_percent="0.2" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_h_midd"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintGuide_percent="0.38" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="交友小屋"
|
||||
android:textColor="@color/white"
|
||||
app:drawableLeftCompat="@mipmap/ic_topbar_back_dark"
|
||||
app:drawableTint="@color/white"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_top_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="倒计时:16:00:11"
|
||||
android:textColor="@color/white"
|
||||
android:background="@mipmap/icon_pri_top_time_bg"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:paddingHorizontal="@dimen/dp_4"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_midd"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_midd"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_1" />
|
||||
|
||||
|
||||
<com.xscm.modulemain.widget.RoomPrivateWheatView
|
||||
android:id="@+id/rpwv_1"
|
||||
android:layout_width="@dimen/dp_85"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintDimensionRatio="1:1.11"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_left"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_left"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_2" />
|
||||
|
||||
<com.xscm.modulemain.widget.RoomPrivateWheatView
|
||||
android:id="@+id/rpwv_2"
|
||||
android:layout_width="@dimen/dp_85"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintDimensionRatio="1:1.11"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_right"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_right"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_2" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_heart_bg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:src="@mipmap/icon_pri_midd_heart_bg"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_midd"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_midd"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_2" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_heart_num"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/semibold"
|
||||
android:text="525522"
|
||||
android:textColor="#FFFF07C5"
|
||||
android:textSize="@dimen/sp_24"
|
||||
android:layout_marginTop="@dimen/dp_45"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_heart_bg"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_heart_bg"
|
||||
app:layout_constraintBottom_toBottomOf="@id/guide_line_h_midd"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_midd" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_h_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintGuide_percent="0.66" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_h_4"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintGuide_percent="0.78" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guide_line_h_5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintGuide_percent="0.89" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gift_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/icon_pri_gift_bg_1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/guide_line_h_3"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_midd"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_left"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_3" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gift_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/icon_pri_gift_bg_1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/guide_line_h_3"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_right"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_midd"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_3" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gift_6"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/icon_pri_gift_bg_1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/guide_line_h_4"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_left"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_4" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gift_5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/icon_pri_gift_bg_1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/guide_line_h_5"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_midd"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_left"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_5" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gift_4"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/icon_pri_gift_bg_1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/guide_line_h_5"
|
||||
app:layout_constraintEnd_toEndOf="@id/guide_line_right"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_midd"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_5" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_gift_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/icon_pri_gift_bg_1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/guide_line_h_4"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/guide_line_right"
|
||||
app:layout_constraintTop_toTopOf="@id/guide_line_h_4" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
||||
@@ -31,7 +31,21 @@
|
||||
android:clipToPadding="false"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<!-- 用户头像 -->
|
||||
<ImageView
|
||||
android:id="@+id/iv_head_bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:riv_oval="true"
|
||||
android:visibility="gone"
|
||||
android:background="@drawable/shape_circle"
|
||||
android:backgroundTint="#7983F6"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_percent="0.62" />
|
||||
<!-- 用户头像 -->
|
||||
<com.xscm.moduleutil.widget.CircularImage
|
||||
android:id="@+id/riv"
|
||||
@@ -104,7 +118,7 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_percent="0.6"
|
||||
app:layout_constraintWidth_percent="0.7"
|
||||
app:loopCount="0"
|
||||
app:source="mic.svga" />
|
||||
<!-- 角色标签 - 头像下方覆盖部分头像 -->
|
||||
@@ -124,8 +138,9 @@
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/riv"
|
||||
android:background="@color/transparent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="1dp"/>
|
||||
android:layout_height="@dimen/dp_1"/>
|
||||
|
||||
|
||||
<TextView
|
||||
@@ -136,7 +151,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="@id/view_line_time"
|
||||
android:drawableLeft="@mipmap/icon_pub_time_bg"
|
||||
android:backgroundTint="@color/black"
|
||||
android:text="12:34"
|
||||
tools:text="12:34"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_8"
|
||||
android:drawablePadding="@dimen/dp_3"
|
||||
@@ -246,9 +261,6 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_bg.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_1.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_2.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_3.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_midd_heart_bg.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_money_left_bg.png
Normal file
|
After Width: | Height: | Size: 791 B |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_select_off.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_select_on.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
MainModule/src/main/res/mipmap-hdpi/icon_pri_top_time_bg.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_bg.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_1.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_2.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_3.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_midd_heart_bg.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_money_left_bg.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_off.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_on.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
MainModule/src/main/res/mipmap-xhdpi/icon_pri_top_time_bg.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_bg.png
Normal file
|
After Width: | Height: | Size: 4.1 MiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_1.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_2.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_3.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_midd_heart_bg.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_money_left_bg.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_off.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_on.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
MainModule/src/main/res/mipmap-xxhdpi/icon_pri_top_time_bg.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
@@ -3,4 +3,6 @@
|
||||
<string name="main_tab2">广场</string>
|
||||
<string name="main_tab3">消息</string>
|
||||
<string name="main_tab4">我的</string>
|
||||
<!-- TODO: Remove or change this placeholder text -->
|
||||
<string name="hello_blank_fragment">Hello blank fragment</string>
|
||||
</resources>
|
||||