feat:完成首页UI改动
@@ -14,20 +14,20 @@ import kotlinx.coroutines.async
|
||||
|
||||
class HomeViewModel : BaseViewModel() {
|
||||
|
||||
private val _tabHomeLiveData = MutableLiveData<List<HomeTabMapInfo>?>()
|
||||
val tabHomeLiveData: MutableLiveData<List<HomeTabMapInfo>?> = _tabHomeLiveData
|
||||
|
||||
private val _bannerLiveData = MutableLiveData<List<BannerInfo>?>()
|
||||
val bannerLiveData: MutableLiveData<List<BannerInfo>?> = _bannerLiveData
|
||||
|
||||
private val _currentResourceLiveData = MutableLiveData<List<CurrentResourceInfo>?>()
|
||||
val currentResourceLiveData: MutableLiveData<List<CurrentResourceInfo>?> = _currentResourceLiveData
|
||||
|
||||
private val _resourceJumpLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
val resourceJumpLiveData: LiveData<HomeRoomInfo?> = _resourceJumpLiveData
|
||||
|
||||
private val _homeChatPickLiveData = MutableLiveData<String?>()
|
||||
val homeChatPickLiveData: LiveData<String?> = _homeChatPickLiveData
|
||||
// private val _tabHomeLiveData = MutableLiveData<List<HomeTabMapInfo>?>()
|
||||
// val tabHomeLiveData: MutableLiveData<List<HomeTabMapInfo>?> = _tabHomeLiveData
|
||||
//
|
||||
// private val _bannerLiveData = MutableLiveData<List<BannerInfo>?>()
|
||||
// val bannerLiveData: MutableLiveData<List<BannerInfo>?> = _bannerLiveData
|
||||
//
|
||||
// private val _currentResourceLiveData = MutableLiveData<List<CurrentResourceInfo>?>()
|
||||
// val currentResourceLiveData: MutableLiveData<List<CurrentResourceInfo>?> = _currentResourceLiveData
|
||||
//
|
||||
// private val _resourceJumpLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
// val resourceJumpLiveData: LiveData<HomeRoomInfo?> = _resourceJumpLiveData
|
||||
//
|
||||
// private val _homeChatPickLiveData = MutableLiveData<String?>()
|
||||
// val homeChatPickLiveData: LiveData<String?> = _homeChatPickLiveData
|
||||
|
||||
private val _gameRoomLiveData = MutableLiveData<ListResult<HomeRoomInfo>>()
|
||||
val gameRoomLiveData: LiveData<ListResult<HomeRoomInfo>> = _gameRoomLiveData
|
||||
@@ -62,65 +62,65 @@ class HomeViewModel : BaseViewModel() {
|
||||
private val _newFriendLiveData = MutableLiveData<ListResult<UserInfo>>()
|
||||
val newFriendLiveData: LiveData<ListResult<UserInfo>> = _newFriendLiveData
|
||||
|
||||
fun getHomeTabName() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_tabHomeLiveData.value = null
|
||||
},
|
||||
block = {
|
||||
_tabHomeLiveData.value = HomeModel.getHomeTabHome()
|
||||
}
|
||||
)
|
||||
}
|
||||
// fun getHomeTabName() {
|
||||
// safeLaunch(
|
||||
// onError = {
|
||||
// _tabHomeLiveData.value = null
|
||||
// },
|
||||
// block = {
|
||||
// _tabHomeLiveData.value = HomeModel.getHomeTabHome()
|
||||
// }
|
||||
// )
|
||||
// }
|
||||
|
||||
/**
|
||||
* 首页改版资源位
|
||||
*/
|
||||
fun getCurrentResourceInfo() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_currentResourceLiveData.value = null
|
||||
},
|
||||
block = {
|
||||
_currentResourceLiveData.value = HomeModel.getCurrentResource()
|
||||
}
|
||||
)
|
||||
}
|
||||
// /**
|
||||
// * 首页改版资源位
|
||||
// */
|
||||
// fun getCurrentResourceInfo() {
|
||||
// safeLaunch(
|
||||
// onError = {
|
||||
// _currentResourceLiveData.value = null
|
||||
// },
|
||||
// block = {
|
||||
// _currentResourceLiveData.value = HomeModel.getCurrentResource()
|
||||
// }
|
||||
// )
|
||||
// }
|
||||
|
||||
fun getResourceJumpInfo(id: Int) {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_resourceJumpLiveData.value = null
|
||||
it.message.toast()
|
||||
},
|
||||
block = {
|
||||
_resourceJumpLiveData.value = HomeModel.getResourceJumpInfo(id)
|
||||
}
|
||||
)
|
||||
}
|
||||
// fun getResourceJumpInfo(id: Int) {
|
||||
// safeLaunch(
|
||||
// onError = {
|
||||
// _resourceJumpLiveData.value = null
|
||||
// it.message.toast()
|
||||
// },
|
||||
// block = {
|
||||
// _resourceJumpLiveData.value = HomeModel.getResourceJumpInfo(id)
|
||||
// }
|
||||
// )
|
||||
// }
|
||||
//
|
||||
// fun getHomeChatPick() {
|
||||
// safeLaunch(
|
||||
// onError = {
|
||||
// _homeChatPickLiveData.value = null
|
||||
// it.message.toast()
|
||||
// },
|
||||
// block = {
|
||||
// _homeChatPickLiveData.value = HomeModel.getHomeChatPick()
|
||||
// }
|
||||
// )
|
||||
// }
|
||||
|
||||
fun getHomeChatPick() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_homeChatPickLiveData.value = null
|
||||
it.message.toast()
|
||||
},
|
||||
block = {
|
||||
_homeChatPickLiveData.value = HomeModel.getHomeChatPick()
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun getBannerInfo() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_bannerLiveData.value = null
|
||||
},
|
||||
block = {
|
||||
_bannerLiveData.value = HomeModel.getHomeBanner("1")
|
||||
}
|
||||
)
|
||||
}
|
||||
// fun getBannerInfo() {
|
||||
// safeLaunch(
|
||||
// onError = {
|
||||
// _bannerLiveData.value = null
|
||||
// },
|
||||
// block = {
|
||||
// _bannerLiveData.value = HomeModel.getHomeBanner("1")
|
||||
// }
|
||||
// )
|
||||
// }
|
||||
|
||||
fun getTagInfo() {
|
||||
safeLaunch {
|
||||
|
@@ -1,18 +1,12 @@
|
||||
package com.chwl.app.home.adapter
|
||||
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.core.view.isGone
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.opensource.svgaplayer.SVGAImageView
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.app.ui.utils.load
|
||||
import com.chwl.app.ui.utils.loadFromAssets
|
||||
import com.chwl.core.home.bean.HomeRoomInfo
|
||||
import com.chwl.core.utils.TextUtils
|
||||
|
||||
/**
|
||||
* create by lvzebiao @2019/11/13
|
||||
@@ -23,22 +17,9 @@ class HomeHotAdapter :
|
||||
override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) {
|
||||
helper.apply {
|
||||
getView<ImageView>(R.id.iv_room_image).load(item.avatar)
|
||||
setText(R.id.tv_online_number, "${item.onlineNum}")
|
||||
setText(R.id.tv_online_number, item.onlineNum.toString())
|
||||
setText(R.id.tv_room_title, item.title)
|
||||
}
|
||||
helper.setGone(R.id.iv_room_tag, !TextUtils.isEmptyText(item.tagPict))
|
||||
ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_room_tag), item.tagPict)
|
||||
|
||||
val icTopList = helper.getView<AppCompatImageView>(R.id.iv_top_list)
|
||||
if(item.isHourTop1 == 1){
|
||||
icTopList.visibility = View.VISIBLE
|
||||
icTopList.setImageResource(R.drawable.bg_recommend_hour_list)
|
||||
} else if(item.isWeekTop1 == 1){
|
||||
icTopList.visibility = View.VISIBLE
|
||||
icTopList.setImageResource(R.drawable.bg_recommend_weekly_list)
|
||||
} else {
|
||||
icTopList.visibility = View.INVISIBLE
|
||||
}
|
||||
|
||||
val avatars: Array<ImageView> = arrayOf(
|
||||
helper.getView(R.id.iv_avatar_0),
|
||||
@@ -52,23 +33,5 @@ class HomeHotAdapter :
|
||||
avatars[i].isGone = avatarUrl.isNullOrBlank()
|
||||
avatars[i].load(avatarUrl)
|
||||
}
|
||||
|
||||
val svgaPk = helper.getView<SVGAImageView>(R.id.svga_pk)
|
||||
if (item.isCrossPking) {
|
||||
svgaPk.visibility = View.VISIBLE
|
||||
svgaPk.loadFromAssets("svga/svga_home_pk.svga")
|
||||
} else {
|
||||
svgaPk.visibility = View.GONE
|
||||
}
|
||||
|
||||
val svgaLiving = helper.getView<SVGAImageView>(R.id.svga_living)
|
||||
svgaLiving.loadFromAssets("svga/home_white_living.svga")
|
||||
}
|
||||
|
||||
override fun onViewAttachedToWindow(holder: BaseViewHolder) {
|
||||
super.onViewAttachedToWindow(holder)
|
||||
val svgaLiving = holder.getView<SVGAImageView>(R.id.svga_living)
|
||||
svgaLiving?.loadFromAssets("svga/home_white_living.svga")
|
||||
}
|
||||
|
||||
}
|
@@ -1,86 +1,59 @@
|
||||
package com.chwl.app.home.fragment
|
||||
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.application.IReportConstants
|
||||
import com.chwl.app.application.ReportManager
|
||||
import com.chwl.app.avroom.activity.AVRoomActivity
|
||||
import com.chwl.app.base.BaseViewBindingFragment
|
||||
import com.chwl.app.databinding.FragmentHomeBinding
|
||||
import com.chwl.app.home.HomeViewModel
|
||||
import com.chwl.app.home.adapter.HomeBannerAdapter
|
||||
import com.chwl.app.home.dialog.RecommendRoomDialog
|
||||
import com.chwl.app.home.helper.OpenRoomHelper
|
||||
import com.chwl.app.ui.im.avtivity.NimP2PMessageActivity
|
||||
import com.chwl.app.ui.search.SearchActivity
|
||||
import com.chwl.app.ui.user.adapter.MainIndicatorAdapter
|
||||
import com.chwl.app.ui.utils.load
|
||||
import com.chwl.app.ui.webview.CommonWebViewActivity
|
||||
import com.chwl.app.ui.widget.magicindicator.ViewPagerHelper
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
|
||||
import com.chwl.app.utils.CommonJumpHelper
|
||||
import com.chwl.core.DemoCache
|
||||
import com.chwl.core.UriProvider
|
||||
import com.chwl.core.home.bean.BannerInfo
|
||||
import com.chwl.core.home.bean.HomeTagInfo
|
||||
import com.chwl.library.utils.ListUtils
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.zhpan.bannerview.BannerViewPager
|
||||
|
||||
/**
|
||||
* Peko首页
|
||||
*/
|
||||
class HomeFragment : BaseViewBindingFragment<FragmentHomeBinding>(), View.OnClickListener,
|
||||
MainIndicatorAdapter.OnItemSelectListener {
|
||||
class HomeFragment : BaseViewBindingFragment<FragmentHomeBinding>(), View.OnClickListener {
|
||||
|
||||
private val mFragments = mutableListOf<Class<out Fragment>>()
|
||||
private val mTabInfoList = mutableListOf<HomeTagInfo>()
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
// private val mFragments = mutableListOf<Class<out Fragment>>()
|
||||
// private val mTabInfoList = mutableListOf<HomeTagInfo>()
|
||||
// private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
|
||||
private var mBanner: BannerViewPager<BannerInfo>? = null
|
||||
|
||||
companion object {
|
||||
private const val TAG = "HomeFragment"
|
||||
}
|
||||
// private var mBanner: BannerViewPager<BannerInfo>? = null
|
||||
|
||||
override fun init() {
|
||||
mBanner = view?.findViewById(R.id.banner)
|
||||
initTitleTab()
|
||||
// mBanner = view?.findViewById(R.id.banner)
|
||||
// initTitleTab()
|
||||
initListener()
|
||||
homeViewModel.bannerLiveData.observe(this) {
|
||||
it?.let {
|
||||
if (ListUtils.isListEmpty(it)) {
|
||||
mBanner?.visibility = View.GONE
|
||||
return@let
|
||||
}
|
||||
mBanner?.visibility = View.VISIBLE
|
||||
mBanner?.adapter = HomeBannerAdapter()
|
||||
mBanner?.post {
|
||||
mBanner?.apply {
|
||||
this.setPageMargin(UIUtil.dip2px(mContext, 8.0))
|
||||
.setScrollDuration(800)
|
||||
.setOnPageClickListener { _: View?, position: Int ->
|
||||
//首页_banner
|
||||
ReportManager.get().reportEvent(
|
||||
IReportConstants.MODULE_HOMEPAGE_CLICK, mapOf(
|
||||
Pair(IReportConstants.HOMEPAGE_TYPE, IReportConstants.SIX),
|
||||
Pair(IReportConstants.MODULE, IReportConstants.PEKO_HOMEPAGE)
|
||||
)
|
||||
)
|
||||
CommonJumpHelper.bannerJump(context, it[position])
|
||||
}
|
||||
.create(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
childFragmentManager.beginTransaction()
|
||||
.replace(R.id.frameLayout, RecommendFragment(), "RECOMMEND").commitAllowingStateLoss()
|
||||
// homeViewModel.bannerLiveData.observe(this) {
|
||||
// it?.let {
|
||||
// if (ListUtils.isListEmpty(it)) {
|
||||
// mBanner?.visibility = View.GONE
|
||||
// return@let
|
||||
// }
|
||||
// mBanner?.visibility = View.VISIBLE
|
||||
// mBanner?.adapter = HomeBannerAdapter()
|
||||
// mBanner?.post {
|
||||
// mBanner?.apply {
|
||||
// this.setPageMargin(UIUtil.dip2px(mContext, 8.0))
|
||||
// .setScrollDuration(800)
|
||||
// .setOnPageClickListener { _: View?, position: Int ->
|
||||
// //首页_banner
|
||||
// ReportManager.get().reportEvent(
|
||||
// IReportConstants.MODULE_HOMEPAGE_CLICK, mapOf(
|
||||
// Pair(IReportConstants.HOMEPAGE_TYPE, IReportConstants.SIX),
|
||||
// Pair(IReportConstants.MODULE, IReportConstants.PEKO_HOMEPAGE)
|
||||
// )
|
||||
// )
|
||||
// CommonJumpHelper.bannerJump(context, it[position])
|
||||
// }
|
||||
// .create(it)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// homeViewModel.currentResourceLiveData.observe(this) {
|
||||
// it?.let {
|
||||
// if(it.size != 2){
|
||||
@@ -112,32 +85,32 @@ class HomeFragment : BaseViewBindingFragment<FragmentHomeBinding>(), View.OnClic
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
homeViewModel.resourceJumpLiveData.observe(this) {
|
||||
dialogManager.dismissDialog()
|
||||
it?.let {
|
||||
if (it.isPick) {
|
||||
AVRoomActivity.start(context, it.uid)
|
||||
} else {
|
||||
RecommendRoomDialog.newInstance(it).show(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
homeViewModel.homeChatPickLiveData.observe(viewLifecycleOwner) {
|
||||
dialogManager.dismissDialog()
|
||||
it?.let {
|
||||
if (it.isNotEmpty()) {
|
||||
NimP2PMessageActivity.start(context, it)
|
||||
}
|
||||
}
|
||||
}
|
||||
homeViewModel.getBannerInfo()
|
||||
// homeViewModel.resourceJumpLiveData.observe(this) {
|
||||
// dialogManager.dismissDialog()
|
||||
// it?.let {
|
||||
// if (it.isPick) {
|
||||
// AVRoomActivity.start(context, it.uid)
|
||||
// } else {
|
||||
// RecommendRoomDialog.newInstance(it).show(context)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// homeViewModel.homeChatPickLiveData.observe(viewLifecycleOwner) {
|
||||
// dialogManager.dismissDialog()
|
||||
// it?.let {
|
||||
// if (it.isNotEmpty()) {
|
||||
// NimP2PMessageActivity.start(context, it)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// homeViewModel.getBannerInfo()
|
||||
// homeViewModel.getCurrentResourceInfo()
|
||||
}
|
||||
|
||||
private fun initListener() {
|
||||
binding.ivSearch.setOnClickListener(this)
|
||||
binding.ivRanking.setOnClickListener(this)
|
||||
// binding.ivRanking.setOnClickListener(this)
|
||||
binding.ivMyRoom.setOnClickListener(this)
|
||||
}
|
||||
|
||||
@@ -180,63 +153,63 @@ class HomeFragment : BaseViewBindingFragment<FragmentHomeBinding>(), View.OnClic
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化推荐
|
||||
*/
|
||||
private fun initTitleTab() {
|
||||
mTabInfoList.add(
|
||||
HomeTagInfo(
|
||||
6,
|
||||
ResUtil.getString(R.string.home_fragment_homefragment_04),
|
||||
0
|
||||
)
|
||||
)
|
||||
mTabInfoList.add(
|
||||
HomeTagInfo(
|
||||
7,
|
||||
ResUtil.getString(R.string.home_fragment_homefragment_07),
|
||||
0
|
||||
)
|
||||
)
|
||||
mFragments.add(RecommendFragment::class.java)
|
||||
mFragments.add(AccompanyFragment::class.java)
|
||||
// /**
|
||||
// * 初始化推荐
|
||||
// */
|
||||
// private fun initTitleTab() {
|
||||
// mTabInfoList.add(
|
||||
// HomeTagInfo(
|
||||
// 6,
|
||||
// ResUtil.getString(R.string.home_fragment_homefragment_04),
|
||||
// 0
|
||||
// )
|
||||
// )
|
||||
// mTabInfoList.add(
|
||||
// HomeTagInfo(
|
||||
// 7,
|
||||
// ResUtil.getString(R.string.home_fragment_homefragment_07),
|
||||
// 0
|
||||
// )
|
||||
// )
|
||||
// mFragments.add(RecommendFragment::class.java)
|
||||
// mFragments.add(AccompanyFragment::class.java)
|
||||
//
|
||||
// val commonNavigator = CommonNavigator(context)
|
||||
// commonNavigator.setTitleWrapContent(false)
|
||||
// commonNavigator.titleMargin = ScreenUtil.dip2px(2.0F)
|
||||
// commonNavigator.setTitleGravity(Gravity.CENTER_VERTICAL)
|
||||
// val magicIndicatorAdapter = MainIndicatorAdapter(context, mTabInfoList.map { it.name })
|
||||
// magicIndicatorAdapter.setOnItemSelectListener(this)
|
||||
// commonNavigator.adapter = magicIndicatorAdapter
|
||||
// binding.magicIndicator.navigator = commonNavigator
|
||||
// binding.viewPager.adapter =
|
||||
// object : FragmentStateAdapter(childFragmentManager, lifecycle) {
|
||||
// override fun createFragment(position: Int): Fragment {
|
||||
// return mFragments[position].newInstance()
|
||||
// }
|
||||
//
|
||||
// override fun getItemCount(): Int {
|
||||
// return mFragments.size
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// ViewPagerHelper.bind(binding.magicIndicator, binding.viewPager)
|
||||
// binding.viewPager.offscreenPageLimit = 1
|
||||
// }
|
||||
|
||||
val commonNavigator = CommonNavigator(context)
|
||||
commonNavigator.setTitleWrapContent(false)
|
||||
commonNavigator.titleMargin = ScreenUtil.dip2px(2.0F)
|
||||
commonNavigator.setTitleGravity(Gravity.CENTER_VERTICAL)
|
||||
val magicIndicatorAdapter = MainIndicatorAdapter(context, mTabInfoList.map { it.name })
|
||||
magicIndicatorAdapter.setOnItemSelectListener(this)
|
||||
commonNavigator.adapter = magicIndicatorAdapter
|
||||
binding.magicIndicator.navigator = commonNavigator
|
||||
binding.viewPager.adapter =
|
||||
object : FragmentStateAdapter(childFragmentManager, lifecycle) {
|
||||
override fun createFragment(position: Int): Fragment {
|
||||
return mFragments[position].newInstance()
|
||||
}
|
||||
// override fun onItemSelect(position: Int, view: TextView?) {
|
||||
// binding.viewPager.currentItem = position
|
||||
// //点击顶部tab上报
|
||||
// val map = HashMap<String, Any>(3)
|
||||
// map[IReportConstants.HOMEPAGE_TAB] = mTabInfoList[position].id
|
||||
// map[IReportConstants.MODULE] = IReportConstants.PEKO_HOMEPAGE
|
||||
// ReportManager.get().reportEvent(IReportConstants.TAB_HOMEPAGE_CLICK, map)
|
||||
// }
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return mFragments.size
|
||||
}
|
||||
|
||||
}
|
||||
ViewPagerHelper.bind(binding.magicIndicator, binding.viewPager)
|
||||
binding.viewPager.offscreenPageLimit = 1
|
||||
}
|
||||
|
||||
override fun onItemSelect(position: Int, view: TextView?) {
|
||||
binding.viewPager.currentItem = position
|
||||
//点击顶部tab上报
|
||||
val map = HashMap<String, Any>(3)
|
||||
map[IReportConstants.HOMEPAGE_TAB] = mTabInfoList[position].id
|
||||
map[IReportConstants.MODULE] = IReportConstants.PEKO_HOMEPAGE
|
||||
ReportManager.get().reportEvent(IReportConstants.TAB_HOMEPAGE_CLICK, map)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
mTabInfoList.clear()
|
||||
mFragments.clear()
|
||||
}
|
||||
// override fun onDestroyView() {
|
||||
// super.onDestroyView()
|
||||
// mTabInfoList.clear()
|
||||
// mFragments.clear()
|
||||
// }
|
||||
|
||||
}
|
@@ -4,6 +4,8 @@ import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chwl.app.application.IReportConstants
|
||||
import com.chwl.app.application.ReportManager
|
||||
@@ -69,7 +71,7 @@ class RecommendFragment : BaseViewBindingFragment<FragmentRecommendBinding>() {
|
||||
.setAdapter(roomHotAdapter)
|
||||
.setRecyclerView(binding.mRecyclerRoom)
|
||||
.setEmptyView(EmptyViewHelper.createEmptyTextViewHeight(context, "暂无熱門推薦"))
|
||||
.setLayoutManager(GridLayoutManager(mContext, 2))
|
||||
.setLayoutManager(LinearLayoutManager(mContext, RecyclerView.VERTICAL, false))
|
||||
.build()
|
||||
homeViewModel.homeHotRoomLiveData.observe(this) {
|
||||
rvDelegate.loadData(it)
|
||||
|
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 876 B |
BIN
app/src/main/res/drawable-xxhdpi/bg_home_top.webp
Normal file
After Width: | Height: | Size: 139 KiB |
BIN
app/src/main/res/drawable-xxhdpi/home_ic_hot.webp
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
app/src/main/res/drawable-xxhdpi/home_ic_tag.webp
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
app/src/main/res/drawable-xxhdpi/ic_home_my_room.webp
Normal file
After Width: | Height: | Size: 5.8 KiB |
12
app/src/main/res/drawable/ic_home_search.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="30dp"
|
||||
android:height="30dp"
|
||||
android:viewportWidth="30"
|
||||
android:viewportHeight="30">
|
||||
<path
|
||||
android:pathData="M21.026,20.071C22.336,18.537 23.078,16.59 23.078,14.539C23.079,9.823 19.256,6 14.539,6C9.823,6 6,9.823 6,14.539C6,19.256 9.823,23.079 14.539,23.079C15.384,23.08 16.225,22.955 17.033,22.709C17.388,22.598 17.586,22.222 17.478,21.867C17.37,21.512 16.995,21.311 16.639,21.417C15.959,21.624 15.251,21.729 14.539,21.729C10.569,21.728 7.35,18.51 7.35,14.539C7.35,10.569 10.569,7.35 14.539,7.35C18.51,7.35 21.729,10.569 21.729,14.539C21.729,16.423 20.982,18.204 19.679,19.546C19.382,19.852 19.386,20.34 19.687,20.642L22.851,23.806C23.116,24.066 23.54,24.064 23.802,23.802C24.064,23.54 24.066,23.116 23.806,22.851L21.026,20.071Z"
|
||||
android:strokeWidth="0.5"
|
||||
android:fillColor="#B4B7BD"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#B4B7BD"/>
|
||||
</vector>
|
@@ -4,167 +4,71 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg_normal_1c1b22">
|
||||
android:background="@color/color_F7F7F7">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_300"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/bg_home_top"
|
||||
app:layout_constraintDimensionRatio="375:178"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/title_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/layout_menu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_54"
|
||||
android:layout_marginBottom="@dimen/dp_12"
|
||||
android:layout_marginTop="@dimen/dp_44"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.coorchice.library.SuperTextView
|
||||
android:id="@+id/iv_search"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_32"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:layout_weight="1"
|
||||
android:drawableStart="@drawable/ic_home_search"
|
||||
android:drawablePadding="@dimen/dp_6"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="@dimen/dp_13"
|
||||
android:paddingEnd="0dp"
|
||||
android:text="@string/search_id_room"
|
||||
android:textColor="@color/color_B8B7C7"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:corner="@dimen/dp_16"
|
||||
app:solid="@color/color_FAFBFC" />
|
||||
|
||||
<ImageView
|
||||
android:visibility="gone"
|
||||
android:id="@+id/iv_ranking"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_12"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_home_rank" />
|
||||
android:id="@+id/iv_search"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:gravity="center_vertical"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@drawable/ic_home_search" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_my_room"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="center"
|
||||
android:layout_width="@dimen/dp_30"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@drawable/ic_home_my_room" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator_layout"
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:text="@string/home_fragment_homefragment_04"
|
||||
android:textColor="@color/color_1E1E1F"
|
||||
android:textSize="@dimen/dp_16"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/layout_menu"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/layout_menu" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_23"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_2"
|
||||
android:src="@drawable/base_ic_indicator"
|
||||
app:layout_constraintEnd_toEndOf="@id/tv_title"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_title" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/frameLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="@dimen/dp_14"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/transparent"
|
||||
app:elevation="0dp"
|
||||
app:layout_behavior="com.chwl.app.ui.widget.AppBarLayoutBehavior">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cs_resource"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:paddingStart="@dimen/dp_14"
|
||||
android:paddingEnd="@dimen/dp_14">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/iv_resource0"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:layout_constraintDimensionRatio="170:82"
|
||||
app:layout_constraintEnd_toStartOf="@+id/iv_resource1"
|
||||
app:layout_constraintHorizontal_weight="1"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:riv_corner_radius="@dimen/dp_4"
|
||||
tools:src="@drawable/default_banner" />
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/iv_resource1"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="@dimen/dp_0"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_constraintDimensionRatio="170:82"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_weight="1"
|
||||
app:layout_constraintStart_toEndOf="@+id/iv_resource0"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:riv_corner_radius="@dimen/dp_4"
|
||||
tools:src="@drawable/default_banner" />
|
||||
|
||||
<com.zhpan.bannerview.BannerViewPager
|
||||
android:id="@+id/banner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:visibility="gone"
|
||||
app:bvp_auto_play="true"
|
||||
app:bvp_can_loop="true"
|
||||
app:bvp_indicator_checked_color="@color/color_9168FA"
|
||||
app:bvp_indicator_normal_color="@color/color_B3B3C3"
|
||||
app:bvp_indicator_radius="@dimen/dp_4"
|
||||
app:bvp_indicator_visibility="visible"
|
||||
app:bvp_page_style="multi_page_scale"
|
||||
app:layout_constraintDimensionRatio="345:80"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/iv_resource0"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<com.chwl.app.ui.widget.magicindicator.MagicIndicator
|
||||
android:id="@+id/magic_indicator"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_22"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_marginEnd="@dimen/dp_12" />
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/view_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/dp_8" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_title" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -4,153 +4,132 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_marginEnd="@dimen/dp_4"
|
||||
android:layout_marginBottom="@dimen/dp_6"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<com.chwl.app.common.widget.RectRoundImageView
|
||||
android:id="@+id/iv_room_image"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_margin="@dimen/dp_1"
|
||||
android:src="@drawable/default_cover"
|
||||
app:borderRadius="@dimen/dp_16"
|
||||
app:layout_constraintDimensionRatio="170:174"
|
||||
app:layout_constraintEnd_toEndOf="@+id/iv_top_list"
|
||||
app:layout_constraintStart_toStartOf="@+id/iv_top_list"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_top_list"
|
||||
app:type="round" />
|
||||
android:paddingVertical="@dimen/dp_6">
|
||||
|
||||
<View
|
||||
android:id="@+id/v_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_66"
|
||||
android:layout_margin="@dimen/dp_1"
|
||||
android:background="@drawable/bg_mask_home_item"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_top_list"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="@dimen/dp_0"
|
||||
android:src="@drawable/bg_recommend_weekly_list"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintDimensionRatio="174:178"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_height="@dimen/dp_84"
|
||||
android:layout_marginHorizontal="@dimen/dp_12"
|
||||
android:background="@drawable/shape_white_8dp_round"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_room_tag"
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/iv_room_image"
|
||||
android:layout_width="@dimen/dp_88"
|
||||
android:layout_height="@dimen/dp_88"
|
||||
android:src="@drawable/default_cover"
|
||||
app:borderRadius="@dimen/dp_8"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/v_bg"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:shapeAppearance="@style/shape_home_recommend_item" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tag"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
android:layout_marginStart="@dimen/dp_6"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
app:layout_constraintStart_toStartOf="@+id/iv_room_image"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_room_image"
|
||||
tools:src="@drawable/tag_101" />
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:drawableEnd="@drawable/home_ic_tag"
|
||||
android:drawablePadding="@dimen/dp_2"
|
||||
android:gravity="center"
|
||||
android:text="熱門"
|
||||
android:textColor="#FFB02C"
|
||||
android:textSize="@dimen/dp_11"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_room_title"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_room_image"
|
||||
app:layout_constraintTop_toTopOf="@id/v_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_room_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_12"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/color_1E1E1F"
|
||||
android:textSize="@dimen/dp_16"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@id/fl_avatar"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tv_online_number"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_room_image"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_tag"
|
||||
tools:text="@string/layout_item_room_common_02" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_avatar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_room_title"
|
||||
app:layout_constraintStart_toStartOf="@+id/iv_room_image">
|
||||
android:layout_marginTop="5dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_room_title"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_room_title">
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar_0"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_width="@dimen/dp_20"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1px" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar_1"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="18dp"
|
||||
android:layout_width="@dimen/dp_20"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
android:layout_marginStart="@dimen/dp_14"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1px" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar_2"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="36dp"
|
||||
android:layout_width="@dimen/dp_20"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
android:layout_marginStart="@dimen/dp_28"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1px" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar_3"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="54dp"
|
||||
android:layout_width="@dimen/dp_20"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
android:layout_marginStart="@dimen/dp_42"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1px" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
android:id="@+id/iv_avatar_4"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="72dp"
|
||||
android:layout_width="@dimen/dp_20"
|
||||
android:layout_height="@dimen/dp_20"
|
||||
android:layout_marginStart="@dimen/dp_56"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="1px" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_room_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_8"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/color_white"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/iv_room_image"
|
||||
app:layout_constraintEnd_toStartOf="@+id/svga_living"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_room_image"
|
||||
tools:text="@string/layout_item_room_common_02" />
|
||||
|
||||
<com.opensource.svgaplayer.SVGAImageView
|
||||
android:id="@+id/svga_living"
|
||||
android:layout_width="@dimen/dp_10"
|
||||
android:layout_height="@dimen/dp_8"
|
||||
android:layout_marginEnd="@dimen/dp_2"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_online_number"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tv_online_number"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_online_number" />
|
||||
|
||||
<com.opensource.svgaplayer.SVGAImageView
|
||||
android:id="@+id/svga_pk"
|
||||
android:layout_width="@dimen/dp_24"
|
||||
android:layout_height="@dimen/dp_22"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/fl_avatar"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_online_number"
|
||||
app:layout_constraintTop_toTopOf="@+id/fl_avatar" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_online_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_12"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:drawableTop="@drawable/home_ic_hot"
|
||||
android:drawablePadding="@dimen/dp_3"
|
||||
android:gravity="center"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="@color/color_white"
|
||||
android:textSize="@dimen/sp_11"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_room_title"
|
||||
app:layout_constraintEnd_toEndOf="@+id/iv_room_image"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_room_title"
|
||||
android:textColor="#84868A"
|
||||
android:textSize="@dimen/dp_12"
|
||||
app:layout_constraintBottom_toBottomOf="@id/v_bg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/v_bg"
|
||||
app:layout_constraintTop_toTopOf="@id/v_bg"
|
||||
tools:text="266" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -591,4 +591,13 @@
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="shape_home_recommend_item">
|
||||
<item name="cornerFamily">rounded</item>
|
||||
<item name="cornerSizeTopLeft">@dimen/dp_8</item>
|
||||
<item name="cornerSizeTopRight">@dimen/dp_20</item>
|
||||
<item name="cornerSizeBottomLeft">@dimen/dp_8</item>
|
||||
<item name="cornerSizeBottomRight">@dimen/dp_20</item>
|
||||
</style>
|
||||
|
||||
|
||||
</resources>
|
||||
|