我的tab UI修改
This commit is contained in:
85
app/src/main/java/com/yizhuan/erban/home/MeViewModel.kt
Normal file
85
app/src/main/java/com/yizhuan/erban/home/MeViewModel.kt
Normal file
@@ -0,0 +1,85 @@
|
||||
package com.yizhuan.erban.home
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.yizhuan.erban.base.BaseViewModel
|
||||
import com.yizhuan.xchat_android_core.home.bean.BannerInfo
|
||||
import com.yizhuan.xchat_android_core.home.model.HomeModel
|
||||
import com.yizhuan.xchat_android_core.room.bean.MeCenterInfo
|
||||
import com.yizhuan.xchat_android_core.room.game.GameInfo
|
||||
|
||||
class MeViewModel : BaseViewModel() {
|
||||
|
||||
private val _bannerLiveData = MutableLiveData<List<BannerInfo>>()
|
||||
val bannerLiveData: LiveData<List<BannerInfo>> = _bannerLiveData
|
||||
|
||||
private val _meCenterInfoLiveData = MutableLiveData<List<List<MeCenterInfo>>>()
|
||||
val meCenterInfoLiveData: LiveData<List<List<MeCenterInfo>>> = _meCenterInfoLiveData
|
||||
|
||||
private val _gameInfoListLiveData = MutableLiveData<List<List<GameInfo>>>()
|
||||
val gameInfoListLiveData: LiveData<List<List<GameInfo>>> = _gameInfoListLiveData
|
||||
|
||||
init {
|
||||
getBannerInfo()
|
||||
requestMeCenterInfoList()
|
||||
getGameList()
|
||||
}
|
||||
|
||||
fun getBannerInfo() {
|
||||
safeLaunch(
|
||||
block = {
|
||||
_bannerLiveData.value = HomeModel.getHomeBanner("10")
|
||||
},
|
||||
onError = {
|
||||
_bannerLiveData.value = null
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun requestMeCenterInfoList() {
|
||||
safeLaunch(
|
||||
block = {
|
||||
_meCenterInfoLiveData.value = transformList(HomeModel.requestMeCenterInfoList(), 4)
|
||||
},
|
||||
onError = {
|
||||
_meCenterInfoLiveData.value = null
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun getGameList() {
|
||||
safeLaunch(
|
||||
block = {
|
||||
_gameInfoListLiveData.value = transformList(HomeModel.getGameList(), 4)
|
||||
},
|
||||
onError = {
|
||||
_gameInfoListLiveData.value = null
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
private fun <T> transformList(
|
||||
data: List<T>?,
|
||||
pageSize: Int
|
||||
): List<List<T>> {
|
||||
val result: MutableList<MutableList<T>> = ArrayList()
|
||||
if (data.isNullOrEmpty()) {
|
||||
return result
|
||||
}
|
||||
for (i in data.indices) {
|
||||
var page: MutableList<T>? = null
|
||||
if (i % pageSize == 0) {
|
||||
page = ArrayList()
|
||||
result.add(page)
|
||||
} else {
|
||||
if (result.size > 0) {
|
||||
page = result[result.size - 1]
|
||||
}
|
||||
}
|
||||
page?.add(data[i])
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -0,0 +1,24 @@
|
||||
package com.yizhuan.erban.home.adapter
|
||||
|
||||
import android.widget.ImageView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.ui.utils.load
|
||||
import com.yizhuan.xchat_android_core.room.bean.MeCenterInfo
|
||||
|
||||
|
||||
class MeCenterAdapter :
|
||||
BaseQuickAdapter<MeCenterInfo, BaseViewHolder>(R.layout.item_me_center) {
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: MeCenterInfo) {
|
||||
|
||||
helper.getView<ImageView>(R.id.iv_pic).load(item.centerPic)
|
||||
helper.setText(R.id.tv_name, item.centerName)
|
||||
helper.itemView.setOnClickListener {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
package com.yizhuan.erban.home.adapter
|
||||
|
||||
import android.widget.ImageView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.ui.utils.load
|
||||
import com.yizhuan.xchat_android_core.room.game.GameInfo
|
||||
|
||||
|
||||
class MeGameAdapter :
|
||||
BaseQuickAdapter<GameInfo, BaseViewHolder>(R.layout.item_me_game) {
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: GameInfo) {
|
||||
helper.getView<ImageView>(R.id.iv_pic).load(item.pic)
|
||||
helper.setText(R.id.tv_name, item.name)
|
||||
}
|
||||
|
||||
}
|
@@ -1,375 +1,373 @@
|
||||
package com.yizhuan.erban.home.fragment;
|
||||
package com.yizhuan.erban.home.fragment
|
||||
|
||||
import static com.yizhuan.erban.skill.activity.SkillHomeActivity.PAGE_TYPE_SELF;
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MESS_SUB_HADEXPIRE;
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MESS_SUB_OPENNOBLE;
|
||||
import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MESS_SUB_RENEWNOBLE;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.yizhuan.erban.MainActivity;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.UIHelper;
|
||||
import com.yizhuan.erban.base.BaseFragment;
|
||||
import com.yizhuan.erban.databinding.FragmentMeBinding;
|
||||
import com.yizhuan.erban.decoration.view.MyDecorationActivity;
|
||||
import com.yizhuan.erban.fansteam.FansTeamListActivity;
|
||||
import com.yizhuan.erban.home.activity.CollectionRoomActivity;
|
||||
import com.yizhuan.erban.home.activity.VisitorListActivity;
|
||||
import com.yizhuan.erban.home.helper.OpenRoomHelper;
|
||||
import com.yizhuan.erban.module_hall.HallDataManager;
|
||||
import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity;
|
||||
import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity;
|
||||
import com.yizhuan.erban.relation.cp.activity.CpHomeActivity;
|
||||
import com.yizhuan.erban.skill.activity.SkillHomeActivity;
|
||||
import com.yizhuan.erban.ui.patriarch.PatriarchModeActivity;
|
||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||
import com.yizhuan.erban.ui.relation.AttentionListActivity;
|
||||
import com.yizhuan.erban.ui.relation.FansListActivity;
|
||||
import com.yizhuan.erban.ui.setting.ScheduleManageActivity;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.ui.widget.higuide.TuTuGuideHelper;
|
||||
import com.yizhuan.erban.vip.VipHelper;
|
||||
import com.yizhuan.erban.vip.VipMainActivity;
|
||||
import com.yizhuan.xchat_android_core.DemoCache;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.decoration.headwear.bean.HeadWearInfo;
|
||||
import com.yizhuan.xchat_android_core.home.event.VisitorUnreadCountEvent;
|
||||
import com.yizhuan.xchat_android_core.level.UserLevelVo;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
import com.yizhuan.xchat_android_core.manager.RelationShipEvent;
|
||||
import com.yizhuan.xchat_android_core.noble.NobleInfo;
|
||||
import com.yizhuan.xchat_android_core.noble.NobleProtocol;
|
||||
import com.yizhuan.xchat_android_core.noble.NobleUtil;
|
||||
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
||||
import com.yizhuan.xchat_android_core.user.UserModel;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
import com.yizhuan.xchat_android_core.user.event.LoginUserInfoUpdateEvent;
|
||||
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
|
||||
import com.yizhuan.xchat_android_core.utils.StarUtils;
|
||||
import com.yizhuan.xchat_android_library.rxbus.RxBusHelper;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.text.TextUtils
|
||||
import android.util.SparseArray
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.viewpager.widget.PagerAdapter
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.UIHelper
|
||||
import com.yizhuan.erban.base.BaseFragment
|
||||
import com.yizhuan.erban.databinding.FragmentMeBinding
|
||||
import com.yizhuan.erban.home.MeViewModel
|
||||
import com.yizhuan.erban.home.adapter.MeCenterAdapter
|
||||
import com.yizhuan.erban.home.adapter.MeGameAdapter
|
||||
import com.yizhuan.erban.home.helper.BannerHelper
|
||||
import com.yizhuan.erban.skill.activity.SkillHomeActivity
|
||||
import com.yizhuan.erban.skill.activity.SkillHomeActivity.Companion.start
|
||||
import com.yizhuan.erban.ui.relation.AttentionListActivity
|
||||
import com.yizhuan.erban.ui.relation.FansListActivity
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils
|
||||
import com.yizhuan.erban.ui.widget.OnPageSelectedListener
|
||||
import com.yizhuan.erban.vip.VipHelper
|
||||
import com.yizhuan.erban.vip.VipMainActivity.Companion.start
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel
|
||||
import com.yizhuan.xchat_android_core.home.event.VisitorUnreadCountEvent
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment
|
||||
import com.yizhuan.xchat_android_core.level.UserLevelVo
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager
|
||||
import com.yizhuan.xchat_android_core.manager.RelationShipEvent
|
||||
import com.yizhuan.xchat_android_core.noble.NobleProtocol
|
||||
import com.yizhuan.xchat_android_core.noble.NobleUtil
|
||||
import com.yizhuan.xchat_android_core.room.bean.MeCenterInfo
|
||||
import com.yizhuan.xchat_android_core.room.game.GameInfo
|
||||
import com.yizhuan.xchat_android_core.statistic.StatisticManager
|
||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol
|
||||
import com.yizhuan.xchat_android_core.user.UserModel
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo
|
||||
import com.yizhuan.xchat_android_core.user.event.LoginUserInfoUpdateEvent
|
||||
import com.yizhuan.xchat_android_core.utils.StarUtils
|
||||
import com.yizhuan.xchat_android_library.rxbus.RxBusHelper
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* @description: 我的 界面
|
||||
* @author: hewenhao
|
||||
* @date: 2018/9/4 16:53
|
||||
*/
|
||||
public class MeFragment extends BaseFragment implements View.OnClickListener {
|
||||
class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
|
||||
public static final String TAG = "MeFragment";
|
||||
private static final String HAS_SHOW_GUIDE = "has_show_guide";
|
||||
|
||||
private UserInfo mUserInfo;
|
||||
private FragmentMeBinding mBinding;
|
||||
|
||||
@Override
|
||||
public int getRootLayoutId() {
|
||||
return R.layout.fragment_me;
|
||||
companion object {
|
||||
const val TAG = "MeFragment"
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetListener() {
|
||||
mBinding = DataBindingUtil.bind(mView);
|
||||
if (mBinding != null) {
|
||||
mBinding.setClick(this);
|
||||
}
|
||||
private var mUserInfo: UserInfo? = null
|
||||
private lateinit var mBinding: FragmentMeBinding
|
||||
private val meViewModel: MeViewModel by viewModels()
|
||||
override fun getRootLayoutId(): Int {
|
||||
return R.layout.fragment_me
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
EventBus.getDefault().unregister(this);
|
||||
override fun onSetListener() {
|
||||
mBinding = DataBindingUtil.bind(mView)!!
|
||||
mBinding.click = this
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initiate() {
|
||||
EventBus.getDefault().register(this);
|
||||
RxBusHelper.doOnMainThread(NobleProtocol.class, mCompositeDisposable, nobleProtocol -> {
|
||||
int second = nobleProtocol.getSecond();
|
||||
if (second == CUSTOM_MESS_SUB_OPENNOBLE || second == CUSTOM_MESS_SUB_RENEWNOBLE) {
|
||||
requestUpdateUserInfo();
|
||||
} else if (second == CUSTOM_MESS_SUB_HADEXPIRE) {
|
||||
mBinding.ivUserNobleLevel.setVisibility(View.GONE);
|
||||
mBinding.ivAvatarHeadWear.setVisibility(View.GONE);
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
EventBus.getDefault().unregister(this)
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun initiate() {
|
||||
EventBus.getDefault().register(this)
|
||||
RxBusHelper.doOnMainThread(
|
||||
NobleProtocol::class.java,
|
||||
mCompositeDisposable
|
||||
) { nobleProtocol: NobleProtocol ->
|
||||
val second = nobleProtocol.second
|
||||
if (second == CustomAttachment.CUSTOM_MESS_SUB_OPENNOBLE || second == CustomAttachment.CUSTOM_MESS_SUB_RENEWNOBLE) {
|
||||
requestUpdateUserInfo()
|
||||
} else if (second == CustomAttachment.CUSTOM_MESS_SUB_HADEXPIRE) {
|
||||
mBinding.ivUserNobleLevel.visibility = View.GONE
|
||||
mBinding.ivAvatarHeadWear.visibility = View.GONE
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
mCompositeDisposable.add(
|
||||
IMNetEaseManager.get().getRelationShipEventObservable().subscribe(e -> onGetRelationShipEvent(e))
|
||||
);
|
||||
|
||||
//模厅
|
||||
HallDataManager.get().registerHallExist(this, hallExist -> {
|
||||
if (HallDataManager.get().isClanElder()) {
|
||||
mBinding.meItemLinkRoom.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mBinding.meItemLinkRoom.setVisibility(View.GONE);
|
||||
}
|
||||
if ((hallExist != null && hallExist) || HallDataManager.get().isHasClan()) {
|
||||
mBinding.meItemUnion.setText("我的公会");
|
||||
mBinding.meItemUnion.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mBinding.meItemUnion.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
|
||||
if (TuTuGuideHelper.isNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_ME_TAB)) {
|
||||
mBinding.meItemRadish.post(() -> {
|
||||
if (getActivity() != null && getActivity() instanceof MainActivity) {
|
||||
if (!((MainActivity) getActivity()).isShowMeTab()) {
|
||||
return;
|
||||
}
|
||||
TuTuGuideHelper helper = new TuTuGuideHelper(mContext);
|
||||
helper.createHiGuide(() -> helper.createMeTabOverLayer(mBinding.meItemRadish));
|
||||
TuTuGuideHelper.setNoNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_ME_TAB);
|
||||
IMNetEaseManager.get()
|
||||
.relationShipEventObservable
|
||||
.subscribe { e: RelationShipEvent ->
|
||||
onGetRelationShipEvent(e)
|
||||
}
|
||||
});
|
||||
)
|
||||
|
||||
meViewModel.bannerLiveData.observe(viewLifecycleOwner) {
|
||||
BannerHelper.setBanner(mBinding.rollView, it)
|
||||
}
|
||||
|
||||
showGuideView();
|
||||
|
||||
if (DemoCache.readBoolean(DemoCache.KEY_VIP_RED_POINT, true)) {
|
||||
mBinding.viewVipRedPoint.setVisibility(View.VISIBLE);
|
||||
meViewModel.gameInfoListLiveData.observe(viewLifecycleOwner) {
|
||||
setGameInfoData(it)
|
||||
}
|
||||
|
||||
meViewModel.meCenterInfoLiveData.observe(viewLifecycleOwner) {
|
||||
setCenterInfoData(it)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void showGuideView() {
|
||||
final boolean hasShowGuid = (boolean) SharedPreferenceUtils.get(HAS_SHOW_GUIDE, false);
|
||||
if (!hasShowGuid) {
|
||||
SharedPreferenceUtils.put(HAS_SHOW_GUIDE, true);
|
||||
mBinding.groupGuide.setVisibility(View.VISIBLE);
|
||||
mBinding.ivOverlayGuide.setOnClickListener(v -> {
|
||||
mBinding.groupGuide.setVisibility(View.GONE);
|
||||
}
|
||||
);
|
||||
private fun setCenterInfoData(pagerList: List<List<MeCenterInfo>?>) {
|
||||
if (ListUtils.isListEmpty(pagerList)) {
|
||||
return
|
||||
}
|
||||
mBinding.magicIndicatorEntrance.initIndicator(pagerList.size)
|
||||
mBinding.magicIndicatorEntrance.setSelectedPage(0)
|
||||
mBinding.magicIndicatorEntrance.visibility =
|
||||
if (pagerList.size > 1) View.VISIBLE else View.INVISIBLE
|
||||
val cacheItemView = SparseArray<RecyclerView>()
|
||||
mBinding.viewPagerEntrance.adapter = object : PagerAdapter() {
|
||||
override fun getCount(): Int {
|
||||
return pagerList.size
|
||||
}
|
||||
|
||||
override fun isViewFromObject(view: View, any: Any): Boolean {
|
||||
return view === any
|
||||
}
|
||||
|
||||
override fun instantiateItem(container: ViewGroup, pagePos: Int): Any {
|
||||
val recyclerView: RecyclerView
|
||||
val giftAdapter: MeCenterAdapter?
|
||||
if (cacheItemView[pagePos] == null) {
|
||||
recyclerView = RecyclerView(requireContext())
|
||||
recyclerView.layoutParams = ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT
|
||||
)
|
||||
recyclerView.layoutManager = GridLayoutManager(context, 4)
|
||||
giftAdapter = MeCenterAdapter()
|
||||
recyclerView.adapter = giftAdapter
|
||||
cacheItemView.put(pagePos, recyclerView)
|
||||
} else {
|
||||
recyclerView = cacheItemView[pagePos]
|
||||
giftAdapter = recyclerView.adapter as MeCenterAdapter
|
||||
}
|
||||
giftAdapter.setNewData(pagerList[pagePos])
|
||||
container.addView(recyclerView)
|
||||
return recyclerView
|
||||
}
|
||||
|
||||
override fun destroyItem(container: ViewGroup, position: Int, any: Any) {
|
||||
val recyclerView = cacheItemView[position]
|
||||
container.removeView(recyclerView)
|
||||
}
|
||||
}
|
||||
mBinding.viewPagerEntrance.addOnPageChangeListener(object : OnPageSelectedListener() {
|
||||
override fun onPageSelected(position: Int) {
|
||||
if (pagerList.size > 1) {
|
||||
mBinding.magicIndicatorEntrance.setSelectedPage(position)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private void onGetRelationShipEvent(RelationShipEvent event) {
|
||||
private fun setGameInfoData(pagerList: List<List<GameInfo>?>) {
|
||||
if (ListUtils.isListEmpty(pagerList)) {
|
||||
return
|
||||
}
|
||||
mBinding.magicIndicatorGame.initIndicator(pagerList.size)
|
||||
mBinding.magicIndicatorGame.setSelectedPage(0)
|
||||
mBinding.magicIndicatorGame.visibility =
|
||||
if (pagerList.size > 1) View.VISIBLE else View.INVISIBLE
|
||||
val cacheItemView = SparseArray<RecyclerView>()
|
||||
mBinding.viewPagerGame.adapter = object : PagerAdapter() {
|
||||
override fun getCount(): Int {
|
||||
return pagerList.size
|
||||
}
|
||||
|
||||
override fun isViewFromObject(view: View, any: Any): Boolean {
|
||||
return view === any
|
||||
}
|
||||
|
||||
override fun instantiateItem(container: ViewGroup, pagePos: Int): Any {
|
||||
val recyclerView: RecyclerView
|
||||
val giftAdapter: MeGameAdapter?
|
||||
if (cacheItemView[pagePos] == null) {
|
||||
recyclerView = RecyclerView(requireContext())
|
||||
recyclerView.layoutParams = ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT
|
||||
)
|
||||
recyclerView.layoutManager = GridLayoutManager(context, 4)
|
||||
giftAdapter = MeGameAdapter()
|
||||
recyclerView.adapter = giftAdapter
|
||||
cacheItemView.put(pagePos, recyclerView)
|
||||
} else {
|
||||
recyclerView = cacheItemView[pagePos]
|
||||
giftAdapter = recyclerView.adapter as MeGameAdapter
|
||||
}
|
||||
giftAdapter.setNewData(pagerList[pagePos])
|
||||
container.addView(recyclerView)
|
||||
return recyclerView
|
||||
}
|
||||
|
||||
override fun destroyItem(container: ViewGroup, position: Int, any: Any) {
|
||||
val recyclerView = cacheItemView[position]
|
||||
container.removeView(recyclerView)
|
||||
}
|
||||
}
|
||||
mBinding.viewPagerGame.addOnPageChangeListener(object : OnPageSelectedListener() {
|
||||
override fun onPageSelected(position: Int) {
|
||||
if (pagerList.size > 1) {
|
||||
mBinding.magicIndicatorGame.setSelectedPage(position)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
private fun onGetRelationShipEvent(event: RelationShipEvent) {
|
||||
if (event.event == RelationShipEvent.EVENT_FRIEND_UPDATE) {
|
||||
requestUpdateUserInfo();
|
||||
requestUpdateUserInfo()
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
initUserDate();
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
initUserDate()
|
||||
// 每次页面重新可见的时候,如果处于审核状态,都尝试刷新拿取最新信息
|
||||
// 不算是一个多好的做法,但是 it works
|
||||
// 不算频繁,可以接受
|
||||
if (mUserInfo != null && mUserInfo.isReview()) {
|
||||
requestUpdateUserInfo();
|
||||
if (mUserInfo?.isReview == true) {
|
||||
requestUpdateUserInfo()
|
||||
}
|
||||
}
|
||||
|
||||
private void initUserDate() {
|
||||
mUserInfo = UserModel.get().getCacheLoginUserInfo();
|
||||
setUserData();
|
||||
private fun initUserDate() {
|
||||
mUserInfo = UserModel.get().cacheLoginUserInfo
|
||||
setUserData()
|
||||
}
|
||||
|
||||
private void setUserData() {
|
||||
if (mUserInfo != null) {
|
||||
mBinding.setUserInfo(mUserInfo);
|
||||
|
||||
mBinding.tvUserId.setText(String.format(Locale.getDefault(),
|
||||
getString(R.string.text_user_id), String.valueOf(mUserInfo.getErbanNo())));
|
||||
|
||||
NobleInfo nobleInfo = mUserInfo.getNobleInfo();
|
||||
HeadWearInfo headWearInfo = mUserInfo.getUserHeadwear();
|
||||
private fun setUserData() {
|
||||
mUserInfo?.let {
|
||||
mBinding.userInfo = mUserInfo
|
||||
mBinding.tvUserId.text = String.format(
|
||||
Locale.getDefault(),
|
||||
getString(R.string.text_user_id), it.erbanNo.toString()
|
||||
)
|
||||
val nobleInfo = it.nobleInfo
|
||||
val headWearInfo = it.userHeadwear
|
||||
if (headWearInfo != null) {
|
||||
mBinding.ivAvatarHeadWear.setImageDrawable(null);
|
||||
mBinding.ivAvatarHeadWear.setImageDrawable(null)
|
||||
if (nobleInfo != null) {
|
||||
mBinding.ivUserNobleLevel.setVisibility(View.VISIBLE);
|
||||
NobleUtil.loadResource(NobleUtil.getBadgeByLevel(nobleInfo.getLevel()), mBinding.ivUserNobleLevel);
|
||||
mBinding.ivUserNobleLevel.visibility = View.VISIBLE
|
||||
NobleUtil.loadResource(
|
||||
NobleUtil.getBadgeByLevel(nobleInfo.level),
|
||||
mBinding.ivUserNobleLevel
|
||||
)
|
||||
} else {
|
||||
mBinding.ivUserNobleLevel.setVisibility(View.GONE);
|
||||
mBinding.ivUserNobleLevel.visibility = View.GONE
|
||||
}
|
||||
|
||||
NobleUtil.loadHeadWear(headWearInfo.getEffect() != null ? headWearInfo.getEffect() : headWearInfo.getPic(), mBinding.ivAvatarHeadWear);
|
||||
NobleUtil.loadHeadWear(
|
||||
if (headWearInfo.effect != null) headWearInfo.effect else headWearInfo.pic,
|
||||
mBinding.ivAvatarHeadWear
|
||||
)
|
||||
} else if (nobleInfo != null) {
|
||||
mBinding.ivUserNobleLevel.setVisibility(View.VISIBLE);
|
||||
NobleUtil.loadResource(NobleUtil.getBadgeByLevel(nobleInfo.getLevel()), mBinding.ivUserNobleLevel);
|
||||
mBinding.ivAvatarHeadWear.setImageDrawable(null);
|
||||
NobleUtil.loadResource(nobleInfo.getHeadWear(), mBinding.ivAvatarHeadWear);
|
||||
mBinding.ivUserNobleLevel.visibility = View.VISIBLE
|
||||
NobleUtil.loadResource(
|
||||
NobleUtil.getBadgeByLevel(nobleInfo.level),
|
||||
mBinding.ivUserNobleLevel
|
||||
)
|
||||
mBinding.ivAvatarHeadWear.setImageDrawable(null)
|
||||
NobleUtil.loadResource(nobleInfo.headWear, mBinding.ivAvatarHeadWear)
|
||||
} else {
|
||||
mBinding.ivAvatarHeadWear.setImageDrawable(null);
|
||||
mBinding.ivUserNobleLevel.setVisibility(View.GONE);
|
||||
mBinding.ivAvatarHeadWear.setImageDrawable(null)
|
||||
mBinding.ivUserNobleLevel.visibility = View.GONE
|
||||
}
|
||||
|
||||
String star = StarUtils.getConstellation(new Date(mUserInfo.getBirth()));
|
||||
mBinding.tvConstellation.setText(star);
|
||||
setUserLevel(mUserInfo.getUserLevelVo());
|
||||
|
||||
VipHelper.loadVipIcon(mBinding.ivVipIcon, mUserInfo.getUserVipInfoVO());
|
||||
if (mUserInfo.getUserVipInfoVO() == null || mUserInfo.getUserVipInfoVO().getVipLevel() == 0) {
|
||||
mBinding.meItemVip.setText("开通贵族立享各项特权>>");
|
||||
val star = StarUtils.getConstellation(Date(it.birth))
|
||||
mBinding.tvConstellation.text = star
|
||||
setUserLevel(it.userLevelVo)
|
||||
VipHelper.loadVipIcon(mBinding.ivVipIcon, it.userVipInfoVO)
|
||||
if (it.userVipInfoVO == null || it.userVipInfoVO.vipLevel == 0) {
|
||||
mBinding.tvVipDesc.text = "开通贵族立享各项特权>>"
|
||||
} else {
|
||||
mBinding.meItemVip.setText("查看我的特权>>");
|
||||
mBinding.tvVipDesc.text = "查看我的特权>>"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void setUserLevel(UserLevelVo userLevelVo) {
|
||||
mBinding.ivUserCharm.setVisibility(View.GONE);
|
||||
mBinding.ivUserLevel.setVisibility(View.GONE);
|
||||
private fun setUserLevel(userLevelVo: UserLevelVo?) {
|
||||
mBinding.ivUserCharm.visibility = View.GONE
|
||||
mBinding.ivUserLevel.visibility = View.GONE
|
||||
if (userLevelVo != null) {
|
||||
String userLevelUrl = userLevelVo.getExperUrl();
|
||||
String userCharmUrl = userLevelVo.getCharmUrl();
|
||||
val userLevelUrl = userLevelVo.getExperUrl()
|
||||
val userCharmUrl = userLevelVo.getCharmUrl()
|
||||
if (!TextUtils.isEmpty(userLevelUrl)) {
|
||||
mBinding.ivUserLevel.setVisibility(View.VISIBLE);
|
||||
ImageLoadUtils.loadImage(mContext, userLevelUrl, mBinding.ivUserLevel);
|
||||
mBinding.ivUserLevel.visibility = View.VISIBLE
|
||||
ImageLoadUtils.loadImage(mContext, userLevelUrl, mBinding.ivUserLevel)
|
||||
}
|
||||
if (!TextUtils.isEmpty(userCharmUrl)) {
|
||||
mBinding.ivUserCharm.setVisibility(View.VISIBLE);
|
||||
ImageLoadUtils.loadImage(mContext, userCharmUrl, mBinding.ivUserCharm);
|
||||
mBinding.ivUserCharm.visibility = View.VISIBLE
|
||||
ImageLoadUtils.loadImage(mContext, userCharmUrl, mBinding.ivUserCharm)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onLoginUserInfoUpdateEvent(LoginUserInfoUpdateEvent event) {
|
||||
mUserInfo = UserModel.get().getCacheLoginUserInfo();
|
||||
setUserData();
|
||||
fun onLoginUserInfoUpdateEvent(event: LoginUserInfoUpdateEvent?) {
|
||||
mUserInfo = UserModel.get().cacheLoginUserInfo
|
||||
setUserData()
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
|
||||
public void onVisitorUnreadCountEvent(VisitorUnreadCountEvent event) {
|
||||
if (mBinding == null) return;
|
||||
fun onVisitorUnreadCountEvent(event: VisitorUnreadCountEvent?) {
|
||||
/* if (mBinding == null) return;
|
||||
if (event.getVisitNum() == 0) {
|
||||
mBinding.tvRedDot.setVisibility(View.GONE);
|
||||
} else {
|
||||
mBinding.tvRedDot.setVisibility(View.VISIBLE);
|
||||
mBinding.tvRedDot.setText(event.getVisitNum() > 99 ? "99+" : String.valueOf(event.getVisitNum()));
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
private void requestUpdateUserInfo() {
|
||||
private fun requestUpdateUserInfo() {
|
||||
if (mUserInfo != null) {
|
||||
UserModel.get().updateCurrentUserInfo().subscribe();
|
||||
UserModel.get().updateCurrentUserInfo().subscribe()
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
int id = v.getId();
|
||||
switch (id) {
|
||||
case R.id.iv_user_head:
|
||||
case R.id.rl_user_info:
|
||||
if (mUserInfo != null) {
|
||||
UIHelper.showUserInfoAct(mContext, mUserInfo.getUid());
|
||||
}
|
||||
break;
|
||||
override fun onClick(v: View) {
|
||||
val id = v.id
|
||||
when (id) {
|
||||
R.id.iv_user_head, R.id.rl_user_info ->
|
||||
mUserInfo?.let { UIHelper.showUserInfoAct(mContext, it.uid) }
|
||||
R.id.iv_edit ->
|
||||
mUserInfo?.let { UIHelper.showUserInfoModifyAct(mContext, it.uid) }
|
||||
|
||||
case R.id.iv_edit:
|
||||
if (mUserInfo != null) {
|
||||
UIHelper.showUserInfoModifyAct(mContext, mUserInfo.getUid());
|
||||
}
|
||||
break;
|
||||
|
||||
case R.id.tv_user_attentions:
|
||||
case R.id.tv_user_attention_text:
|
||||
startActivity(new Intent(mContext, AttentionListActivity.class));
|
||||
break;
|
||||
|
||||
case R.id.tv_user_fans:
|
||||
case R.id.tv_user_fan_text:
|
||||
startActivity(new Intent(mContext, FansListActivity.class));
|
||||
break;
|
||||
|
||||
case R.id.ll_my_room:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_ME_INTO_MY_ROOM_CLICK, "我页_进入我的房间");
|
||||
OpenRoomHelper.openRoom(getBaseActivity());
|
||||
break;
|
||||
case R.id.ll_collect_room:
|
||||
CollectionRoomActivity.start(mContext);
|
||||
break;
|
||||
|
||||
case R.id.me_item_radish:
|
||||
startActivity(new Intent(mContext, ChargeActivity.class));
|
||||
break;
|
||||
case R.id.me_item_level:
|
||||
CommonWebViewActivity.start(mContext, UriProvider.getUserLevelUrl());
|
||||
break;
|
||||
|
||||
case R.id.me_item_decoration_store:
|
||||
startActivity(new Intent(mContext, MyDecorationActivity.class));
|
||||
break;
|
||||
|
||||
case R.id.me_item_union:
|
||||
if (HallDataManager.get().isHasClan()) {
|
||||
ModuleClanActivity.start(mContext);
|
||||
} else {
|
||||
ModuleHallActivity.start(mContext);
|
||||
}
|
||||
break;
|
||||
|
||||
case R.id.me_item_patriarch:
|
||||
startActivity(new Intent(getActivity(), PatriarchModeActivity.class));
|
||||
break;
|
||||
|
||||
case R.id.me_item_certification:
|
||||
// 跳去实名认证页面
|
||||
CommonWebViewActivity.start(mContext,
|
||||
UriProvider.getTutuRealNamePage());
|
||||
break;
|
||||
|
||||
case R.id.me_item_setting:
|
||||
UIHelper.showSettingAct(mContext);
|
||||
break;
|
||||
|
||||
case R.id.me_item_invite:
|
||||
CommonWebViewActivity.start(mContext, UriProvider.getGameShareUrl());
|
||||
break;
|
||||
case R.id.me_item_link_room:
|
||||
CommonWebViewActivity.start(mContext, UriProvider.getLinkRoomUrl());
|
||||
break;
|
||||
case R.id.me_item_vip:
|
||||
VipMainActivity.start(mContext);
|
||||
R.id.tv_user_attentions, R.id.tv_user_attention_text -> startActivity(
|
||||
Intent(
|
||||
mContext,
|
||||
AttentionListActivity::class.java
|
||||
)
|
||||
)
|
||||
R.id.tv_user_fans, R.id.tv_user_fan_text -> startActivity(
|
||||
Intent(
|
||||
mContext,
|
||||
FansListActivity::class.java
|
||||
)
|
||||
)
|
||||
R.id.me_item_setting -> UIHelper.showSettingAct(mContext)
|
||||
R.id.me_item_vip -> {
|
||||
start(mContext)
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_VIP_ENTRANCE_ME_CLICK, "贵族我的入口点击事件");
|
||||
if (mBinding.viewVipRedPoint.getVisibility() == View.VISIBLE) {
|
||||
DemoCache.saveBoolean(DemoCache.KEY_VIP_RED_POINT, false);
|
||||
mBinding.viewVipRedPoint.setVisibility(View.GONE);
|
||||
}
|
||||
break;
|
||||
case R.id.me_item_schedule:
|
||||
ScheduleManageActivity.Companion.start(mContext);
|
||||
break;
|
||||
case R.id.me_item_skill:
|
||||
SkillHomeActivity.Companion.start(mContext, PAGE_TYPE_SELF, AuthModel.get().getCurrentUid());
|
||||
break;
|
||||
case R.id.me_item_visitor:
|
||||
EventBus.getDefault().postSticky(new VisitorUnreadCountEvent(0));
|
||||
VisitorListActivity.start(mContext);
|
||||
break;
|
||||
case R.id.me_item_relation:
|
||||
CpHomeActivity.Companion.start(mContext);
|
||||
break;
|
||||
case R.id.me_item_fans_team:
|
||||
FansTeamListActivity.start(mContext);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
.onEvent(StatisticsProtocol.EVENT_VIP_ENTRANCE_ME_CLICK, "贵族我的入口点击事件")
|
||||
}
|
||||
R.id.me_item_skill -> start(
|
||||
mContext,
|
||||
SkillHomeActivity.PAGE_TYPE_SELF,
|
||||
AuthModel.get().currentUid
|
||||
)
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,133 @@
|
||||
package com.yizhuan.erban.home.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by shichaohui on 2015/7/10 0010.
|
||||
* <p/>
|
||||
* 页码指示器类,获得此类实例后,可通过{@link MePageIndicatorView#initIndicator(int)}方法初始化指示器
|
||||
* </P>
|
||||
*/
|
||||
public class MePageIndicatorView extends LinearLayout {
|
||||
|
||||
private Context mContext = null;
|
||||
private int dotSize = 12; // 指示器的大小(dp)
|
||||
private int height = 4; // 指示器的大小(dp)
|
||||
private double margins = 0; // 指示器间距(dp)
|
||||
private List<View> indicatorViews = null; // 存放指示器
|
||||
private int selectRes = R.drawable.shape_me_indicator_visible;
|
||||
private int noSelectRes = R.drawable.shape_me_indicator_invisible;
|
||||
|
||||
public void setSelectRes(int selectRes) {
|
||||
this.selectRes = selectRes;
|
||||
}
|
||||
|
||||
public void setNoSelectRes(int noSelectRes) {
|
||||
this.noSelectRes = noSelectRes;
|
||||
}
|
||||
|
||||
public MePageIndicatorView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public MePageIndicatorView(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public MePageIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init(context);
|
||||
}
|
||||
|
||||
private void init(Context context) {
|
||||
this.mContext = context;
|
||||
|
||||
setGravity(Gravity.CENTER);
|
||||
setOrientation(HORIZONTAL);
|
||||
|
||||
dotSize = UIUtil.dip2px(context, dotSize);
|
||||
height = UIUtil.dip2px(context, height);
|
||||
margins = UIUtil.dip2px(context, (float) margins);
|
||||
}
|
||||
|
||||
public void setDotSize(int dotSize) {
|
||||
this.dotSize = dotSize;
|
||||
}
|
||||
|
||||
public void setHeight(int height) {
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化指示器,默认选中第一页
|
||||
*
|
||||
* @param count 指示器数量,即页数
|
||||
*/
|
||||
public void initIndicator(int count) {
|
||||
if (indicatorViews == null) {
|
||||
indicatorViews = new ArrayList<>();
|
||||
}
|
||||
indicatorViews.clear();
|
||||
removeAllViews();
|
||||
View view;
|
||||
LayoutParams params = new LayoutParams(dotSize, height);
|
||||
int margins = (int) this.margins;
|
||||
params.setMargins(margins, margins, margins, margins);
|
||||
for (int i = 0; i < count; i++) {
|
||||
view = new View(mContext);
|
||||
view.setBackgroundResource(noSelectRes);
|
||||
addView(view, params);
|
||||
indicatorViews.add(view);
|
||||
}
|
||||
if (indicatorViews.size() > 0) {
|
||||
indicatorViews.get(0).setBackgroundResource(selectRes);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置选中页
|
||||
*
|
||||
* @param selected 页下标,从0开始
|
||||
*/
|
||||
public void setSelectedPage(int selected) {
|
||||
for (int i = 0; i < indicatorViews.size(); i++) {
|
||||
if (i == selected) {
|
||||
indicatorViews.get(i).setBackgroundResource(selectRes);
|
||||
} else {
|
||||
indicatorViews.get(i).setBackgroundResource(noSelectRes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置选中页
|
||||
*
|
||||
* @param selected 页下标,从0开始
|
||||
*/
|
||||
public void setDifSelectedPage(int selected) {
|
||||
for (int i = 0; i < indicatorViews.size(); i++) {
|
||||
if (i == selected) {
|
||||
LayoutParams params = new LayoutParams(dotSize, height);
|
||||
int margins = (int) this.margins;
|
||||
params.setMargins(margins, margins, margins, margins);
|
||||
indicatorViews.get(i).setLayoutParams(params);
|
||||
indicatorViews.get(i).setBackgroundResource(selectRes);
|
||||
} else {
|
||||
LayoutParams params = new LayoutParams(height, height);
|
||||
indicatorViews.get(i).setLayoutParams(params);
|
||||
indicatorViews.get(i).setBackgroundResource(noSelectRes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
BIN
app/src/main/res/drawable-xhdpi/bg_me_wallet_entrance.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/bg_me_wallet_entrance.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
Binary file not shown.
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 19 KiB |
10
app/src/main/res/drawable/shape_1a000_left_100dp.xml
Normal file
10
app/src/main/res/drawable/shape_1a000_left_100dp.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#1a000000" />
|
||||
<corners
|
||||
android:bottomLeftRadius="100dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="100dp"
|
||||
android:topRightRadius="0dp" />
|
||||
</shape>
|
7
app/src/main/res/drawable/shape_me_indicator_bg.xml
Normal file
7
app/src/main/res/drawable/shape_me_indicator_bg.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<solid android:color="#1a000000" />
|
||||
<corners android:radius="@dimen/dp_100" />
|
||||
</shape>
|
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<solid android:color="@color/transparent" />
|
||||
</shape>
|
10
app/src/main/res/drawable/shape_me_indicator_visible.xml
Normal file
10
app/src/main/res/drawable/shape_me_indicator_visible.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<solid android:color="#FFBC51" />
|
||||
<size
|
||||
android:width="@dimen/dp_12"
|
||||
android:height="@dimen/dp_4" />
|
||||
<corners android:radius="@dimen/dp_3" />
|
||||
</shape>
|
@@ -18,7 +18,7 @@
|
||||
<import type="android.view.View" />
|
||||
</data>
|
||||
|
||||
<com.yizhuan.erban.ui.widget.ObservableScrollView
|
||||
<ScrollView
|
||||
android:id="@+id/scroll_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
@@ -27,40 +27,48 @@
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_me_page">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/bg_me_page"
|
||||
app:layout_constraintDimensionRatio="750:672"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/me_item_setting"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:ignore="UseCompoundDrawables">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:src="@mipmap/icon_setting" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<!--个人信息-->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/rl_user_info"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:onClick="@{click}"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/me_item_setting"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:ignore="UseCompoundDrawables">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/icon_setting"
|
||||
android:layout_gravity="center"
|
||||
/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
app:layout_constraintTop_toBottomOf="@id/me_item_setting">
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/iv_user_head"
|
||||
@@ -68,7 +76,7 @@
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:onClick="@{click}"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -238,486 +246,337 @@
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="bottom"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginEnd="25dp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/iv_avatar_head_wear"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/tv_user_attentions"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:text="@{String.valueOf(userInfo.followNum)}"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_18"
|
||||
tools:text="99999" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_user_attention_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/attention"
|
||||
android:textColor="#4f516a"
|
||||
android:textSize="@dimen/sp_11" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/tv_user_fans"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="30dp"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="@{String.valueOf(userInfo.fansNum)}"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_18"
|
||||
tools:text="99999" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_user_fan_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="@string/fan"
|
||||
android:textColor="#4f516a"
|
||||
android:textSize="@dimen/sp_11" />
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_vip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="13dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/bg_vip_me_entrance"
|
||||
android:gravity="center_vertical|end"
|
||||
android:onClick="@{click}"
|
||||
android:paddingEnd="8dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintTop_toBottomOf="@id/rl_user_info"
|
||||
tools:text="开通贵族立享各项特权>>" />
|
||||
|
||||
<View
|
||||
android:id="@+id/view_vip_red_point"
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="8dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/shap_red_point"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="@id/me_item_vip"
|
||||
app:layout_constraintTop_toTopOf="@id/me_item_vip" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_option"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/shape_add_friends_2a2a39"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintTop_toBottomOf="@id/me_item_vip">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_radish"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_30"
|
||||
android:drawableTop="@mipmap/icon_mine_account"
|
||||
android:drawablePadding="@dimen/dp_8"
|
||||
android:gravity="center_horizontal"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="我的账户"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_schedule"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_38"
|
||||
android:drawableTop="@mipmap/icon_schedule_manage"
|
||||
android:drawablePadding="@dimen/dp_8"
|
||||
android:gravity="center_horizontal"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="赛程管理"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_skill"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_38"
|
||||
android:layout_marginRight="@dimen/dp_30"
|
||||
android:drawableTop="@mipmap/icon_skill_card"
|
||||
android:drawablePadding="@dimen/dp_8"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_height="28dp"
|
||||
android:background="@drawable/shape_1a000_left_100dp"
|
||||
android:drawableStart="@mipmap/icon_skill_card"
|
||||
android:drawablePadding="5dp"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:paddingStart="9dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:text="技能卡"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_user_relation"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_option">
|
||||
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:gravity="bottom"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="4"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/rl_user_info">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/tv_user_attentions"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/dp_15"
|
||||
android:background="@drawable/shape_add_friends_2a2a39"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ll_my_room"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/ic_me_my_room"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="我的房间"
|
||||
android:maxLines="1"
|
||||
android:text="@{String.valueOf(userInfo.followNum)}"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="@dimen/sp_20"
|
||||
android:textStyle="bold"
|
||||
tools:text="999" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ll_collect_room"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/tv_user_attention_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/ic_me_collection"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="我的收藏"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_decoration_store"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_decoration"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/menu_my_decoration"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_level"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_level"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/menu_my_level"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_fans_team"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_fans_team"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="粉丝团"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_relation"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_relation"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/menu_my_relation"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_wallet"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_wallet"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/menu_my_income"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_union"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_union"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/menu_my_union"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/me_item_visitor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="horizontal"
|
||||
android:paddingEnd="15dp"
|
||||
tools:ignore="UseCompoundDrawables">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_visitor"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="@dimen/dp_me_text_padding_to_icon"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="访客记录"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_red_dot"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="15dp"
|
||||
android:layout_gravity="start|center_vertical"
|
||||
android:layout_marginStart="115dp"
|
||||
android:background="@drawable/shap_red_point"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:minWidth="15dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="11dp"
|
||||
android:visibility="gone"
|
||||
tools:text="9"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_invite"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_me_invite"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="推荐给好友"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_patriarch"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_patriarch"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/patriarch_mode"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_certification"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_certification"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/menu_certification"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/me_item_link_room"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_me_text_padding_to_icon"
|
||||
android:drawableStart="@mipmap/icon_me_link_room"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingTop="@dimen/dp_15"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="@dimen/dp_15"
|
||||
android:text="@string/menu_link_room"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone" />
|
||||
android:text="@string/attention"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/tv_user_fans"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="@{String.valueOf(userInfo.fansNum)}"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_20"
|
||||
android:textStyle="bold"
|
||||
tools:text="999" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_user_fan_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="@string/fan"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/tv_user_visitor"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="@{String.valueOf(userInfo.fansNum)}"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_20"
|
||||
android:textStyle="bold"
|
||||
tools:text="999" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_user_visitor_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="访客"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/tv_user_history"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="@{String.valueOf(userInfo.fansNum)}"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_20"
|
||||
android:textStyle="bold"
|
||||
tools:text="999" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_user_history_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="足迹"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<View
|
||||
android:id="@+id/view_guide_center_back"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="405dp"
|
||||
android:background="@color/black_transparent_30"
|
||||
app:layout_constraintBottom_toTopOf="@+id/view_guide_bottom"
|
||||
app:layout_constraintTop_toTopOf="@id/ll_option" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_overlay_guide"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/bg_skill_guide"
|
||||
app:layout_constraintRight_toRightOf="@id/ll_option"
|
||||
app:layout_constraintTop_toTopOf="@id/view_guide_center_back" />
|
||||
|
||||
<View
|
||||
android:id="@+id/view_guide_top"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/black_transparent_30"
|
||||
app:layout_constraintBottom_toTopOf="@id/view_guide_center_back"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/view_guide_bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/black_transparent_30"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/view_guide_center_back" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_guide"
|
||||
<LinearLayout
|
||||
android:id="@+id/me_item_wallet"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:visibility="gone"
|
||||
app:constraint_referenced_ids="view_guide_top,view_guide_center_back,view_guide_bottom,iv_overlay_guide" />
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/bg_me_wallet_entrance"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintDimensionRatio="328:128"
|
||||
app:layout_constraintEnd_toStartOf="@id/me_item_vip"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_user_relation">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="50dp"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="0"
|
||||
android:textColor="#FFE398"
|
||||
android:textSize="@dimen/sp_18"
|
||||
android:textStyle="bold"
|
||||
tools:text="999" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="钻石充值"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/me_item_vip"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/bg_vip_me_entrance"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintDimensionRatio="328:128"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/me_item_wallet"
|
||||
app:layout_constraintTop_toTopOf="@id/me_item_wallet">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="50dp"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="贵族中心"
|
||||
android:textColor="#FFE595"
|
||||
android:textSize="@dimen/sp_18" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_vip_desc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:text="开通贵族立享各项特权"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_10" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_setting_entrance"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:background="@drawable/shape_white_8dp_round"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/me_item_wallet">
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/view_pager_entrance"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="130dp" />
|
||||
|
||||
<com.yizhuan.erban.home.widget.MePageIndicatorView
|
||||
android:id="@+id/magic_indicator_entrance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@drawable/shape_me_indicator_bg" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_game"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:background="@drawable/shape_white_8dp_round"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_setting_entrance"
|
||||
app:layout_constraintVertical_bias="0">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:text="快捷进房"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/view_pager_game"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginTop="12dp" />
|
||||
|
||||
<com.yizhuan.erban.home.widget.MePageIndicatorView
|
||||
android:id="@+id/magic_indicator_game"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="@drawable/shape_me_indicator_bg" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.yizhuan.erban.ui.widget.rollviewpager.RollPagerView
|
||||
android:id="@+id/roll_view"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="345:80"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_game"
|
||||
app:rollviewpager_hint_gravity="left"
|
||||
app:rollviewpager_hint_paddingBottom="8dp" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</com.yizhuan.erban.ui.widget.ObservableScrollView>
|
||||
</ScrollView>
|
||||
|
||||
</layout>
|
||||
|
35
app/src/main/res/layout/item_me_center.xml
Normal file
35
app/src/main/res/layout/item_me_center.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/iv_pic"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@drawable/default_cover"
|
||||
app:riv_corner_radius="8dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="10dp"
|
||||
tools:text="余生点余生点" />
|
||||
|
||||
|
||||
</LinearLayout>
|
35
app/src/main/res/layout/item_me_game.xml
Normal file
35
app/src/main/res/layout/item_me_game.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/iv_pic"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_cover"
|
||||
app:riv_corner_radius="8dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="10dp"
|
||||
tools:text="余生点余生点" />
|
||||
|
||||
|
||||
</LinearLayout>
|
Binary file not shown.
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -7,7 +7,9 @@ import com.yizhuan.xchat_android_core.community.CommunityConstant
|
||||
import com.yizhuan.xchat_android_core.community.bean.UnReadCountInfo
|
||||
import com.yizhuan.xchat_android_core.home.bean.*
|
||||
import com.yizhuan.xchat_android_core.room.bean.HomeLiveTopInfo
|
||||
import com.yizhuan.xchat_android_core.room.bean.MeCenterInfo
|
||||
import com.yizhuan.xchat_android_core.room.bean.SingleRoomSortInfo
|
||||
import com.yizhuan.xchat_android_core.room.game.GameInfo
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper
|
||||
import com.yizhuan.xchat_android_core.utils.net.launchRequest
|
||||
@@ -162,6 +164,16 @@ object HomeModel : BaseModel() {
|
||||
api.requestHomeLiveTopInfo()
|
||||
}
|
||||
|
||||
suspend fun requestMeCenterInfoList(): List<MeCenterInfo>? =
|
||||
launchRequest {
|
||||
api.requestMeCenterInfoList()
|
||||
}
|
||||
|
||||
suspend fun getGameList(): List<GameInfo>? =
|
||||
launchRequest {
|
||||
api.getGameList()
|
||||
}
|
||||
|
||||
|
||||
private interface Api {
|
||||
/**
|
||||
@@ -339,6 +351,22 @@ object HomeModel : BaseModel() {
|
||||
@GET("single/broadcast/onceLook")
|
||||
suspend fun requestHomeLiveTopInfo(): ServiceResult<HomeLiveTopInfo>
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
@GET("personal/center/list")
|
||||
suspend fun requestMeCenterInfoList(): ServiceResult<List<MeCenterInfo>>
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @param uid
|
||||
* @return
|
||||
*/
|
||||
@POST("/miniGame/record/miniGameList")
|
||||
suspend fun getGameList(
|
||||
): ServiceResult<List<GameInfo>>
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
package com.yizhuan.xchat_android_core.room.bean
|
||||
|
||||
data class MeCenterInfo(
|
||||
val centerBadge: String = "",
|
||||
val centerId: Int = 0,
|
||||
val centerName: String = "",
|
||||
val centerPic: String = "",
|
||||
val centerSeq: Int = 0,
|
||||
val centerStatus: Int = 0,
|
||||
val centerUrl: String = "",
|
||||
val skipType: Int = 0,
|
||||
)
|
@@ -28,17 +28,6 @@ object GameModel : BaseModel() {
|
||||
.compose(RxHelper.handleSchAndExce())
|
||||
}
|
||||
|
||||
suspend fun getHomeBanner(type: String): List<BannerInfo>? =
|
||||
launchRequest {
|
||||
api.apiHomeBanner(
|
||||
type, AuthModel.get().currentUid.toString(),
|
||||
CommunityConstant.VERSION_VALID_TYPE,
|
||||
AuthModel.get().ticket
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
private interface Api {
|
||||
|
||||
/**
|
||||
@@ -63,24 +52,6 @@ object GameModel : BaseModel() {
|
||||
@Field("uid") uid: Long
|
||||
): Single<ServiceResult<GameCodeInfo>>
|
||||
|
||||
|
||||
/**
|
||||
* 首页Banner
|
||||
*
|
||||
* @param type
|
||||
* @param uid
|
||||
* @param types
|
||||
* @param ticket
|
||||
* @return
|
||||
*/
|
||||
@GET("/home/banner")
|
||||
suspend fun apiHomeBanner(
|
||||
@Query("type") type: String,
|
||||
@Query("uid") uid: String,
|
||||
@Query("types") types: String,
|
||||
@Query("ticket") ticket: String
|
||||
): ServiceResult<List<BannerInfo>>
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user