feat:调整首页相关类命名
This commit is contained in:
@@ -53,7 +53,6 @@ import com.nnbc123.app.home.HomeViewModel;
|
||||
import com.nnbc123.app.home.dialog.NewUserHelloDialog;
|
||||
import com.nnbc123.app.home.dialog.ProtocolUpdateDialog;
|
||||
import com.nnbc123.app.home.fragment.HomeFragment;
|
||||
import com.nnbc123.app.home.fragment.HomeFragment2;
|
||||
import com.nnbc123.app.home.fragment.MeFragment;
|
||||
import com.nnbc123.app.home.fragment.MsgFragment;
|
||||
import com.nnbc123.app.home.fragment.PartyFragment;
|
||||
@@ -178,7 +177,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
{
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_PARTY, new PartyFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_HOME, new HomeFragment2());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_HOME, new HomeFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_MSG, new MsgFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_SQUARE, new SquareFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_ME, new MeFragment());
|
||||
|
@@ -3,15 +3,14 @@ package com.nnbc123.app.home.adapter
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
import com.nnbc123.core.user.bean.UserInfo
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/12/18 18:33
|
||||
* Desc:
|
||||
**/
|
||||
class MakeFriendsUserAdapter :
|
||||
BaseQuickAdapter<UserInfo, BaseViewHolder>(R.layout.home_make_friends_list_item) {
|
||||
class HomeFriendsUserAdapter :
|
||||
BaseQuickAdapter<UserInfo, BaseViewHolder>(R.layout.home_friends_list_item) {
|
||||
override fun convert(helper: BaseViewHolder, item: UserInfo) {
|
||||
helper.setText(R.id.tv_name, item.nick)
|
||||
}
|
@@ -1,8 +1,5 @@
|
||||
package com.nnbc123.app.home.adapter
|
||||
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageView
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.ui.utils.load
|
||||
@@ -16,7 +13,7 @@ import com.zhpan.bannerview.BaseViewHolder
|
||||
* Created by Max on 2023/12/18 19:02
|
||||
* Desc:
|
||||
**/
|
||||
class PartyHotMessageAdapter : BaseBannerAdapter<GiftServiceMsgVo>() {
|
||||
class HomePartyMessageAdapter : BaseBannerAdapter<GiftServiceMsgVo>() {
|
||||
override fun bindData(
|
||||
holder: BaseViewHolder<GiftServiceMsgVo>,
|
||||
item: GiftServiceMsgVo,
|
||||
@@ -33,7 +30,7 @@ class PartyHotMessageAdapter : BaseBannerAdapter<GiftServiceMsgVo>() {
|
||||
}
|
||||
|
||||
override fun getLayoutId(viewType: Int): Int {
|
||||
return R.layout.home_party_item_hot_message
|
||||
return R.layout.home_party_item_message
|
||||
}
|
||||
|
||||
fun getItem(position: Int): GiftServiceMsgVo? {
|
@@ -12,7 +12,7 @@ import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
* Created by Max on 2023/12/18 18:33
|
||||
* Desc:
|
||||
**/
|
||||
class PartyRoomAdapter :
|
||||
class HomePartyRoomAdapter :
|
||||
BaseQuickAdapter<HomeRoomInfo, BaseViewHolder>(R.layout.home_party_room_item) {
|
||||
override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) {
|
||||
helper.apply {
|
@@ -1,65 +1,86 @@
|
||||
package com.nnbc123.app.home.fragment
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.View
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import com.nnbc123.core.DemoCache
|
||||
import com.nnbc123.core.UriProvider
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import android.graphics.Color
|
||||
import android.view.Gravity
|
||||
import android.widget.LinearLayout
|
||||
import com.chuhai.utils.ktx.singleClick
|
||||
import com.gyf.immersionbar.ImmersionBar
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.base.BaseFragment
|
||||
import com.nnbc123.app.databinding.FragmentHomeBinding
|
||||
import com.nnbc123.app.avroom.adapter.RoomVPAdapter
|
||||
import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.databinding.HomeFragmentBinding
|
||||
import com.nnbc123.app.home.adapter.HomeMagicIndicatorAdapter
|
||||
import com.nnbc123.app.home.helper.OpenRoomHelper
|
||||
import com.nnbc123.app.ui.search.SearchActivity
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.app.ui.widget.magicindicator.ViewPagerHelper
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
|
||||
import com.nnbc123.core.DemoCache
|
||||
import com.nnbc123.core.UriProvider
|
||||
import com.nnbc123.core.initial.InitialModel
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
|
||||
/**
|
||||
* 音萌首页
|
||||
*/
|
||||
class HomeFragment : BaseFragment(), View.OnClickListener {
|
||||
private lateinit var mBinding: FragmentHomeBinding
|
||||
override fun onClick(v: View) {
|
||||
when (v.id) {
|
||||
R.id.tv_search -> {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH, "进入搜索页")
|
||||
SearchActivity.start(activity)
|
||||
//为啥触发条件这么恶心 我也不知道啊
|
||||
if (DemoCache.readAnchorCardView() == 0) {
|
||||
DemoCache.saveAnchorCardView(1)
|
||||
}
|
||||
}
|
||||
R.id.iv_ranking -> {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_RANK_CLICK, "首页_榜单")
|
||||
CommonWebViewActivity.start(mContext, UriProvider.getRanking())
|
||||
}
|
||||
R.id.iv_my_room -> {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_MY_ROOM_CLICK, "首页_我的房间")
|
||||
OpenRoomHelper.openRoom(baseActivity)
|
||||
* Created by Max on 2023/12/18 17:51
|
||||
* Desc:首页
|
||||
**/
|
||||
@ActLayoutRes(R.layout.home_fragment)
|
||||
class HomeFragment : BaseBindingFragment<HomeFragmentBinding>() {
|
||||
override fun initiate() {
|
||||
ImmersionBar.with(this).titleBarMarginTop(mBinding.magicIndicator).init()
|
||||
initTab()
|
||||
initEvent()
|
||||
}
|
||||
|
||||
private fun initEvent() {
|
||||
mBinding.ivMyRoom.singleClick {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_MY_ROOM_CLICK, "首页_我的房间")
|
||||
OpenRoomHelper.openRoom(baseActivity)
|
||||
}
|
||||
|
||||
mBinding.ivRanking.singleClick {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_RANK_CLICK, "首页_榜单")
|
||||
CommonWebViewActivity.start(mContext, UriProvider.getRanking())
|
||||
}
|
||||
|
||||
mBinding.tvSearch.singleClick {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH, "进入搜索页")
|
||||
SearchActivity.start(activity)
|
||||
//为啥触发条件这么恶心 我也不知道啊
|
||||
if (DemoCache.readAnchorCardView() == 0) {
|
||||
DemoCache.saveAnchorCardView(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun getRootLayoutId(): Int {
|
||||
return R.layout.fragment_home
|
||||
private fun initTab() {
|
||||
val tagList = arrayListOf("派对", "交友")
|
||||
val fragmentList = listOf(HomePartyFragment(), HomeFriendsFragment())
|
||||
val commonNavigator = CommonNavigator(context)
|
||||
commonNavigator.setTitleWrapContent(true)
|
||||
commonNavigator.setTitleGravity(Gravity.CENTER_VERTICAL)
|
||||
val magicIndicatorAdapter = HomeMagicIndicatorAdapter(context, tagList)
|
||||
magicIndicatorAdapter.setOnItemSelectListener { position, view ->
|
||||
mBinding.viewPager.currentItem = position
|
||||
}
|
||||
magicIndicatorAdapter.normalColor = Color.parseColor("#696D7A")
|
||||
magicIndicatorAdapter.selectedColor = Color.parseColor("#2B2D33")
|
||||
commonNavigator.adapter = magicIndicatorAdapter
|
||||
mBinding.magicIndicator.navigator = commonNavigator
|
||||
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
|
||||
mBinding.viewPager.offscreenPageLimit = 5
|
||||
mBinding.viewPager.adapter =
|
||||
RoomVPAdapter(childFragmentManager, fragmentList)
|
||||
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager)
|
||||
InitialModel.get().cacheInitInfo?.defaultTab?.let {
|
||||
val tab = it - 1
|
||||
if (it >= 0 && it < tagList.size) {
|
||||
mBinding.viewPager.currentItem = tab
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFindViews() {
|
||||
mBinding = DataBindingUtil.bind(mView)!!
|
||||
}
|
||||
|
||||
override fun onSetListener() {
|
||||
mBinding.click = this
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun initiate() {
|
||||
requireActivity().supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container_view, RecommendFragment.newInstance())
|
||||
.commitAllowingStateLoss()
|
||||
}
|
||||
|
||||
}
|
@@ -1,86 +0,0 @@
|
||||
package com.nnbc123.app.home.fragment
|
||||
|
||||
import android.graphics.Color
|
||||
import android.view.Gravity
|
||||
import android.widget.LinearLayout
|
||||
import com.chuhai.utils.ktx.singleClick
|
||||
import com.gyf.immersionbar.ImmersionBar
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.avroom.adapter.RoomVPAdapter
|
||||
import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.databinding.HomeFragmentBinding
|
||||
import com.nnbc123.app.home.adapter.HomeMagicIndicatorAdapter
|
||||
import com.nnbc123.app.home.helper.OpenRoomHelper
|
||||
import com.nnbc123.app.ui.search.SearchActivity
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.app.ui.widget.magicindicator.ViewPagerHelper
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
|
||||
import com.nnbc123.core.DemoCache
|
||||
import com.nnbc123.core.UriProvider
|
||||
import com.nnbc123.core.initial.InitialModel
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/12/18 17:51
|
||||
* Desc:
|
||||
**/
|
||||
@ActLayoutRes(R.layout.home_fragment)
|
||||
class HomeFragment2 : BaseBindingFragment<HomeFragmentBinding>() {
|
||||
override fun initiate() {
|
||||
ImmersionBar.with(this).titleBarMarginTop(mBinding.magicIndicator).init()
|
||||
initTab()
|
||||
initEvent()
|
||||
}
|
||||
|
||||
private fun initEvent() {
|
||||
mBinding.ivMyRoom.singleClick {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_MY_ROOM_CLICK, "首页_我的房间")
|
||||
OpenRoomHelper.openRoom(baseActivity)
|
||||
}
|
||||
|
||||
mBinding.ivRanking.singleClick {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_RANK_CLICK, "首页_榜单")
|
||||
CommonWebViewActivity.start(mContext, UriProvider.getRanking())
|
||||
}
|
||||
|
||||
mBinding.tvSearch.singleClick {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH, "进入搜索页")
|
||||
SearchActivity.start(activity)
|
||||
//为啥触发条件这么恶心 我也不知道啊
|
||||
if (DemoCache.readAnchorCardView() == 0) {
|
||||
DemoCache.saveAnchorCardView(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun initTab() {
|
||||
val tagList = arrayListOf("派对", "交友")
|
||||
val fragmentList = listOf(PartyFragment2(), MakeFriendsFragment())
|
||||
val commonNavigator = CommonNavigator(context)
|
||||
commonNavigator.setTitleWrapContent(true)
|
||||
commonNavigator.setTitleGravity(Gravity.CENTER_VERTICAL)
|
||||
val magicIndicatorAdapter = HomeMagicIndicatorAdapter(context, tagList)
|
||||
magicIndicatorAdapter.setOnItemSelectListener { position, view ->
|
||||
mBinding.viewPager.currentItem = position
|
||||
}
|
||||
magicIndicatorAdapter.normalColor = Color.parseColor("#696D7A")
|
||||
magicIndicatorAdapter.selectedColor = Color.parseColor("#2B2D33")
|
||||
commonNavigator.adapter = magicIndicatorAdapter
|
||||
mBinding.magicIndicator.navigator = commonNavigator
|
||||
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
|
||||
mBinding.viewPager.offscreenPageLimit = 5
|
||||
mBinding.viewPager.adapter =
|
||||
RoomVPAdapter(childFragmentManager, fragmentList)
|
||||
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager)
|
||||
InitialModel.get().cacheInitInfo?.defaultTab?.let {
|
||||
val tab = it - 1
|
||||
if (it >= 0 && it < tagList.size) {
|
||||
mBinding.viewPager.currentItem = tab
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -2,8 +2,7 @@ package com.nnbc123.app.home.fragment
|
||||
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.databinding.HomeMakeFriendsFragmentBinding
|
||||
import com.nnbc123.app.home.adapter.PartyRoomAdapter
|
||||
import com.nnbc123.app.databinding.HomeFriendsFragmentBinding
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
|
||||
/**
|
||||
@@ -11,12 +10,12 @@ import com.nnbc123.library.annatation.ActLayoutRes
|
||||
* Desc:交友
|
||||
**/
|
||||
|
||||
@ActLayoutRes(R.layout.home_make_friends_fragment)
|
||||
class MakeFriendsFragment : BaseBindingFragment<HomeMakeFriendsFragmentBinding>() {
|
||||
@ActLayoutRes(R.layout.home_friends_fragment)
|
||||
class HomeFriendsFragment : BaseBindingFragment<HomeFriendsFragmentBinding>() {
|
||||
override fun initiate() {
|
||||
childFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container_view, MakeFriendsListFragment())
|
||||
.replace(R.id.fragment_container_view, HomeFriendsListFragment())
|
||||
.commitAllowingStateLoss()
|
||||
}
|
||||
}
|
@@ -5,9 +5,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.common.EmptyViewHelper
|
||||
import com.nnbc123.app.databinding.HomeMakeFriendsListFragmentBinding
|
||||
import com.nnbc123.app.databinding.HomeFriendsListFragmentBinding
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.home.adapter.MakeFriendsUserAdapter
|
||||
import com.nnbc123.app.home.adapter.HomeFriendsUserAdapter
|
||||
import com.nnbc123.app.ui.utils.RVDelegate
|
||||
import com.nnbc123.core.user.bean.UserInfo
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
@@ -16,9 +16,9 @@ import com.nnbc123.library.annatation.ActLayoutRes
|
||||
* Created by Max on 2023/12/18 19:35
|
||||
* Desc:
|
||||
**/
|
||||
@ActLayoutRes(R.layout.home_make_friends_list_fragment)
|
||||
class MakeFriendsListFragment : BaseBindingFragment<HomeMakeFriendsListFragmentBinding>() {
|
||||
private val adapter = MakeFriendsUserAdapter()
|
||||
@ActLayoutRes(R.layout.home_friends_list_fragment)
|
||||
class HomeFriendsListFragment : BaseBindingFragment<HomeFriendsListFragmentBinding>() {
|
||||
private val adapter = HomeFriendsUserAdapter()
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
override fun initiate() {
|
||||
val rvDelegate = RVDelegate.Builder<UserInfo>()
|
@@ -11,14 +11,12 @@ import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.databinding.HomePartyFragmentBinding
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.home.activity.MoreRoomActivity
|
||||
import com.nnbc123.app.home.adapter.PartyHotMessageAdapter
|
||||
import com.nnbc123.app.home.adapter.HomePartyMessageAdapter
|
||||
import com.nnbc123.app.home.dialog.RecommendRoomDialog
|
||||
import com.nnbc123.app.home.helper.BannerHelper
|
||||
import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity
|
||||
import com.nnbc123.app.ui.utils.load
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.core.auth.AuthModel
|
||||
import com.nnbc123.core.home.bean.GiftServiceMsgVo
|
||||
import com.nnbc123.core.home.event.RefreshHomeDataEvent
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
@@ -32,7 +30,7 @@ import org.greenrobot.eventbus.ThreadMode
|
||||
* Desc:派对
|
||||
**/
|
||||
@ActLayoutRes(R.layout.home_party_fragment)
|
||||
class PartyFragment2 : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
class HomePartyFragment : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
|
||||
@@ -52,7 +50,7 @@ class PartyFragment2 : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
}
|
||||
childFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container_view, PartyHotRoomFragment())
|
||||
.replace(R.id.fragment_container_view, HomePartyHotRoomFragment())
|
||||
.commitAllowingStateLoss()
|
||||
}
|
||||
|
||||
@@ -75,7 +73,7 @@ class PartyFragment2 : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
}
|
||||
|
||||
private fun initHotMessage() {
|
||||
val adapter = PartyHotMessageAdapter()
|
||||
val adapter = HomePartyMessageAdapter()
|
||||
mBinding.hotMessage.apply {
|
||||
setOrientation(ViewPager2.ORIENTATION_VERTICAL)
|
||||
setAdapter(adapter)
|
@@ -10,7 +10,7 @@ import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.common.EmptyViewHelper
|
||||
import com.nnbc123.app.databinding.HomePartyRoomFragmentBinding
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.home.adapter.PartyRoomAdapter
|
||||
import com.nnbc123.app.home.adapter.HomePartyRoomAdapter
|
||||
import com.nnbc123.app.ui.utils.RVDelegate
|
||||
import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
import com.nnbc123.core.home.event.RefreshHomeDataEvent
|
||||
@@ -26,8 +26,8 @@ import org.greenrobot.eventbus.ThreadMode
|
||||
* Desc:
|
||||
**/
|
||||
@ActLayoutRes(R.layout.home_party_room_fragment)
|
||||
class PartyHotRoomFragment : BaseBindingFragment<HomePartyRoomFragmentBinding>() {
|
||||
private val adapter = PartyRoomAdapter()
|
||||
class HomePartyHotRoomFragment : BaseBindingFragment<HomePartyRoomFragmentBinding>() {
|
||||
private val adapter = HomePartyRoomAdapter()
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
override fun initiate() {
|
||||
val rvDelegate = RVDelegate.Builder<HomeRoomInfo>()
|
@@ -1,345 +0,0 @@
|
||||
package com.nnbc123.app.home.fragment
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isGone
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.avroom.activity.AVRoomActivity
|
||||
import com.nnbc123.app.avroom.adapter.RoomVPAdapter
|
||||
import com.nnbc123.app.base.BaseFragment
|
||||
import com.nnbc123.app.common.EmptyViewHelper
|
||||
import com.nnbc123.app.databinding.FragmentRecommendBinding
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.home.adapter.GiftServiceAdapter
|
||||
import com.nnbc123.app.home.adapter.HomeSingleAnchorAdapter
|
||||
import com.nnbc123.app.home.adapter.MainMagicIndicatorAdapter
|
||||
import com.nnbc123.app.home.dialog.RecommendRoomDialog
|
||||
import com.nnbc123.app.home.helper.BannerHelper
|
||||
import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity
|
||||
import com.nnbc123.app.ui.utils.RVDelegate
|
||||
import com.nnbc123.app.ui.utils.load
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.app.ui.widget.NewFriendsFilterWindow
|
||||
import com.nnbc123.app.ui.widget.magicindicator.ViewPagerHelper
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
|
||||
import com.nnbc123.core.auth.AuthModel
|
||||
import com.nnbc123.core.home.bean.GiftServiceMsgVo
|
||||
import com.nnbc123.core.home.event.RefreshHomeDataEvent
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.scwang.smartrefresh.layout.internal.ProgressDrawable
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
/**
|
||||
* 音萌首页
|
||||
*/
|
||||
class RecommendFragment : BaseFragment(),
|
||||
MainMagicIndicatorAdapter.OnItemSelectListener {
|
||||
private lateinit var mBinding: FragmentRecommendBinding
|
||||
private var mFragmentsBottom: MutableList<Fragment> = ArrayList()
|
||||
private lateinit var singleAnchorAdapter: HomeSingleAnchorAdapter
|
||||
|
||||
private lateinit var giftServiceAdapter: GiftServiceAdapter
|
||||
private lateinit var rvDelegate: RVDelegate<GiftServiceMsgVo>
|
||||
private var disposable: Disposable? = null
|
||||
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
private var currGender: Int? = null
|
||||
|
||||
//仅埋点使用,不影响业务逻辑
|
||||
private val abcArray = arrayOf("A", "B", "C", "D")
|
||||
private var currMatchClick = abcArray[0]
|
||||
|
||||
companion object {
|
||||
fun newInstance(): RecommendFragment {
|
||||
val args = Bundle()
|
||||
val fragment = RecommendFragment()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
override fun getRootLayoutId(): Int {
|
||||
return R.layout.fragment_recommend
|
||||
}
|
||||
|
||||
|
||||
override fun onFindViews() {
|
||||
mBinding = DataBindingUtil.bind(mView)!!
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
loadData()
|
||||
homeViewModel.getServiceGiftRecord()
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun initiate() {
|
||||
initRefreshView()
|
||||
initTitleTab()
|
||||
//initSingleAnchor()
|
||||
giftServiceAdapter = GiftServiceAdapter()
|
||||
giftServiceAdapter.setOnItemClickListener { _, _, position ->
|
||||
giftServiceAdapter.getItem(position)?.let {
|
||||
AVRoomActivity.start(mContext, it.roomUid)
|
||||
}
|
||||
}
|
||||
rvDelegate = RVDelegate.Builder<GiftServiceMsgVo>()
|
||||
.setAdapter(giftServiceAdapter)
|
||||
.setRecyclerView(mBinding.rvGiftService)
|
||||
.setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无房间"))
|
||||
.setLayoutManager(LinearLayoutManager(mContext))
|
||||
.build()
|
||||
|
||||
homeViewModel.bannerLiveData.observe(this) {
|
||||
BannerHelper.setBanner(mBinding.rollView, it) { _, _ ->
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_BANNER_CLICK, "首页_banner")
|
||||
}
|
||||
}
|
||||
homeViewModel.resourceLiveData.observe(this) {
|
||||
if (it.isNullOrEmpty() || it.size != 4) {
|
||||
mBinding.llResource.isGone = true
|
||||
return@observe
|
||||
}
|
||||
mBinding.llResource.isGone = false
|
||||
val resourceViews = arrayOf(
|
||||
mBinding.ivResource0,
|
||||
mBinding.ivResource1,
|
||||
mBinding.ivResource2,
|
||||
mBinding.ivResource3
|
||||
)
|
||||
for (i in resourceViews.indices) {
|
||||
resourceViews[i].load(it[i].icon)
|
||||
if (it[i].resourceType == 8) {
|
||||
mBinding.tvOnlineNum.text = "${it[i].resourceContent}人组队中"
|
||||
}
|
||||
resourceViews[i].setOnClickListener { _ ->
|
||||
currMatchClick = abcArray[i]
|
||||
StatisticManager.Instance().onEvent(
|
||||
"${currMatchClick}_match_click",
|
||||
"资源位点击",
|
||||
mapOf("user_id" to AuthModel.get().currentUid.toString())
|
||||
)
|
||||
when {
|
||||
it[i].resourceType == 5 -> {
|
||||
CommonWebViewActivity.start(context, it[i].resourceContent)
|
||||
}
|
||||
i == 3 -> {
|
||||
dialogManager.showProgressDialog(mContext)
|
||||
homeViewModel.getHomeChatPick()
|
||||
}
|
||||
else -> {
|
||||
dialogManager.showProgressDialog(mContext)
|
||||
homeViewModel.getResourceJumpInfo(it[i].id)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
homeViewModel.resourceJumpLiveData.observe(this) {
|
||||
dialogManager.dismissDialog()
|
||||
it?.let {
|
||||
if (it.isPick) {
|
||||
AVRoomActivity.start(context, it.uid)
|
||||
StatisticManager.Instance().onEvent(
|
||||
"${currMatchClick}_match_success",
|
||||
"资源位匹配成功",
|
||||
mapOf("user_id" to AuthModel.get().currentUid.toString())
|
||||
)
|
||||
} else {
|
||||
RecommendRoomDialog.newInstance(it).show(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
homeViewModel.homeChatPickLiveData.observe(viewLifecycleOwner) {
|
||||
dialogManager.dismissDialog()
|
||||
it?.let {
|
||||
if (it.isNotEmpty()) {
|
||||
NimP2PMessageActivity.start(context, it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
homeViewModel.giftServiceLiveData.observe(viewLifecycleOwner) {
|
||||
rvDelegate.loadData(it)
|
||||
}
|
||||
mBinding.rvGiftService.setOnTouchListener { _, _ -> true }
|
||||
disposable = Observable.intervalRange(0, Int.MAX_VALUE.toLong(), 0, 5, TimeUnit.SECONDS)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.filter { rvDelegate.adapter.itemCount > 0 && isResumed }
|
||||
.subscribe {
|
||||
val index = (it % rvDelegate.adapter.itemCount).toInt()
|
||||
if (index == 0) {
|
||||
mBinding.rvGiftService.scrollToPosition(index)
|
||||
} else {
|
||||
mBinding.rvGiftService.smoothScrollToPosition(index)
|
||||
}
|
||||
}
|
||||
mBinding.tvNewRefresh.setOnClickListener {
|
||||
homeViewModel.getNewFriendList(currGender)
|
||||
}
|
||||
mBinding.tvNewFilter.setOnClickListener {
|
||||
val popup = NewFriendsFilterWindow(
|
||||
mContext,
|
||||
mBinding.tvNewFilter.text.toString()
|
||||
)
|
||||
popup.setOnClickListener {
|
||||
popup.dismiss()
|
||||
when (it.id) {
|
||||
R.id.tv_all -> {
|
||||
homeViewModel.getNewFriendList()
|
||||
mBinding.tvNewFilter.text = "全部"
|
||||
currGender = null
|
||||
}
|
||||
R.id.tv_man -> {
|
||||
homeViewModel.getNewFriendList(1)
|
||||
mBinding.tvNewFilter.text = "男生"
|
||||
currGender = 1
|
||||
}
|
||||
R.id.tv_woman -> {
|
||||
homeViewModel.getNewFriendList(2)
|
||||
mBinding.tvNewFilter.text = "女生"
|
||||
currGender = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
popup.show(mBinding.tvNewFilter, Gravity.BOTTOM)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun initRefreshView() {
|
||||
mBinding.refreshLayout.setOnRefreshListener {
|
||||
mBinding.refreshLayout.finishRefresh()
|
||||
EventBus.getDefault().post(RefreshHomeDataEvent())
|
||||
}
|
||||
mBinding.refreshLayout.isEnableLoadmore = false
|
||||
mBinding.refreshLayout.isEnableOverScrollBounce = false
|
||||
val themeColor = requireContext().resources.getColor(R.color.color_666666)
|
||||
mBinding.refreshHeader.lastUpdateText.setTextColor(themeColor)
|
||||
mBinding.refreshHeader.titleText.setTextColor(themeColor)
|
||||
mBinding.refreshHeader.setBackgroundColor(Color.TRANSPARENT)
|
||||
val progressDrawable = ProgressDrawable()
|
||||
progressDrawable.setColor(themeColor)
|
||||
mBinding.refreshHeader.progressView.setImageDrawable(progressDrawable)
|
||||
}
|
||||
|
||||
private fun initTitleTab() {
|
||||
val tagList = arrayListOf("发现新朋友", "组队开黑")
|
||||
mFragmentsBottom.add(RoomNewFriendsFragment.newInstance())
|
||||
mFragmentsBottom.add(HomePlayFragment.newInstance())
|
||||
val commonNavigator = CommonNavigator(context)
|
||||
commonNavigator.setTitleWrapContent(true)
|
||||
val magicIndicatorAdapter = MainMagicIndicatorAdapter(context, tagList)
|
||||
magicIndicatorAdapter.setResId(R.drawable.ic_home_indicator_center)
|
||||
magicIndicatorAdapter.textSize = 16
|
||||
magicIndicatorAdapter.minScale = 0.85f
|
||||
magicIndicatorAdapter.setOnItemSelectListener(this)
|
||||
commonNavigator.adapter = magicIndicatorAdapter
|
||||
mBinding.magicIndicator.navigator = commonNavigator
|
||||
commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
|
||||
mBinding.viewPager.offscreenPageLimit = 5
|
||||
mBinding.viewPager.adapter =
|
||||
RoomVPAdapter(childFragmentManager, mFragmentsBottom)
|
||||
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager)
|
||||
mBinding.viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
|
||||
override fun onPageScrolled(
|
||||
position: Int,
|
||||
positionOffset: Float,
|
||||
positionOffsetPixels: Int
|
||||
) {
|
||||
}
|
||||
|
||||
override fun onPageSelected(position: Int) {
|
||||
mBinding.tvNewRefresh.isVisible = position == 0
|
||||
mBinding.tvNewFilter.isVisible = position == 0
|
||||
}
|
||||
|
||||
override fun onPageScrollStateChanged(state: Int) {
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
private fun initSingleAnchor() {
|
||||
singleAnchorAdapter = HomeSingleAnchorAdapter()
|
||||
mBinding.rvSingleAnchor.adapter = singleAnchorAdapter
|
||||
val layoutManager =
|
||||
GridLayoutManager(requireContext(), 4, LinearLayoutManager.VERTICAL, false)
|
||||
mBinding.rvSingleAnchor.layoutManager = layoutManager
|
||||
homeViewModel.singleAnchorHomeLiveData.observe(this) {
|
||||
if (it.data.isNullOrEmpty()) {
|
||||
mBinding.llSingleAnchor.visibility = View.GONE
|
||||
mBinding.rvSingleAnchor.visibility = View.GONE
|
||||
} else {
|
||||
mBinding.llSingleAnchor.visibility = View.VISIBLE
|
||||
mBinding.rvSingleAnchor.visibility = View.VISIBLE
|
||||
}
|
||||
singleAnchorAdapter.setNewData(it.data)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onItemSelect(position: Int, view: TextView?) {
|
||||
if (mFragmentsBottom.isEmpty()) {
|
||||
return
|
||||
}
|
||||
mBinding.tvNewRefresh.isVisible = position == 0
|
||||
mBinding.tvNewFilter.isVisible = position == 0
|
||||
mBinding.viewPager.currentItem = position
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_TJ_TABEXCHANGE, "用户切换tab次数,热门房间or组队开黑")
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onRefreshHomeDataEvent(event: RefreshHomeDataEvent?) {
|
||||
if (isResumed) {
|
||||
loadData()
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadData() {
|
||||
homeViewModel.getHomeResource()
|
||||
homeViewModel.getBannerInfo()
|
||||
//homeViewModel.getHomeSingleAnchorList()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
disposable?.dispose()
|
||||
}
|
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
EventBus.getDefault().register(this)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
EventBus.getDefault().unregister(this)
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,95 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="click"
|
||||
type="android.view.View.OnClickListener" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg_normal_1c1b22">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/bg_me_page"
|
||||
app:layout_constraintDimensionRatio="750:250"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/title_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="bottom"
|
||||
android:paddingTop="50dp"
|
||||
android:paddingBottom="@dimen/dp_10"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_search"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="23dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shape_room_temp"
|
||||
android:drawableStart="@mipmap/ic_search_main"
|
||||
android:drawablePadding="6dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingStart="13dp"
|
||||
android:text="搜索房间/昵称/ID"
|
||||
android:textColor="#9EB5C5"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_ranking"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginEnd="23dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:onClick="@{click}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/home_ic_rank" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_my_room"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:onClick="@{click}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/home_ic_my_room"
|
||||
android:visibility="gone" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/fragment_container_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
@@ -1,308 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="click"
|
||||
type="android.view.View.OnClickListener" />
|
||||
|
||||
</data>
|
||||
|
||||
<com.scwang.smartrefresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/refresh_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.scwang.smartrefresh.layout.header.ClassicsHeader
|
||||
android:id="@+id/refresh_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<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.nnbc123.app.ui.widget.AppBarLayoutBehavior">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:contentScrim="@color/transparent"
|
||||
app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_roll_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginEnd="@dimen/dp_15">
|
||||
|
||||
<com.nnbc123.app.ui.widget.rollviewpager.RollPagerView
|
||||
android:id="@+id/roll_view"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="345:80"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:rollviewpager_hint_gravity="left"
|
||||
app:rollviewpager_hint_paddingBottom="8dp"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/ll_resource"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_0"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@drawable/ic_resource_0"
|
||||
app:layout_constraintDimensionRatio="94:120"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_percent="0.274" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@drawable/ic_resource_1"
|
||||
app:layout_constraintDimensionRatio="120:56"
|
||||
app:layout_constraintEnd_toStartOf="@id/iv_resource_2"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_resource_0"
|
||||
app:layout_constraintWidth_percent="0.355" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="3dp"
|
||||
android:src="@drawable/ic_resource_2"
|
||||
app:layout_constraintDimensionRatio="120:56"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_resource_0"
|
||||
app:layout_constraintWidth_percent="0.355" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_resource_3"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:src="@drawable/ic_resource_3"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_resource_0"
|
||||
app:layout_constraintDimensionRatio="243:56"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintWidth_percent="0.705" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="11dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="bottom"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_resource_3"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_resource_3">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:src="@drawable/ic_home_pick_avatar0" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:src="@drawable/ic_home_pick_avatar1" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_home_pick_avatar2" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_online_num"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:drawableStart="@drawable/shape_circle_82fbff_small"
|
||||
android:drawablePadding="5dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_resource_3"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_resource_3"
|
||||
tools:text="999人组队中" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:background="@drawable/bg_gift_service"
|
||||
app:layout_constraintDimensionRatio="694:148"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_resource_3"
|
||||
app:layout_constraintStart_toStartOf="@id/iv_resource_0"
|
||||
app:layout_constraintTop_toBottomOf="@id/iv_resource_0">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="21dp"
|
||||
android:layout_marginTop="7dp"
|
||||
android:src="@drawable/ic_home_hot" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_gift_service"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="11dp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/ll_single_anchor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingTop="8dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:includeFontPadding="false"
|
||||
android:text="人气主播"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:drawableRight="@drawable/arrow_right"
|
||||
android:drawablePadding="@dimen/dp_3"
|
||||
android:text="更多"
|
||||
android:textColor="#8A8CAB"
|
||||
android:textSize="12sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_single_anchor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:background="@drawable/shape_room_single_bg"
|
||||
android:overScrollMode="never"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:scrollbars="none"
|
||||
android:visibility="gone"
|
||||
tools:visibility="gone" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_indicator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:paddingBottom="5dp">
|
||||
|
||||
<com.nnbc123.app.ui.widget.magicindicator.MagicIndicator
|
||||
android:id="@+id/magic_indicator"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="31dp"
|
||||
android:paddingLeft="13dp"
|
||||
android:paddingRight="10dp" />
|
||||
|
||||
<com.nnbc123.library.widget.DrawableCenterTextView
|
||||
android:id="@+id/tv_new_refresh"
|
||||
android:layout_width="65dp"
|
||||
android:layout_height="23dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginEnd="74dp"
|
||||
android:background="@drawable/shape_white_round_23dp"
|
||||
android:drawableEnd="@drawable/ic_home_refresh_new"
|
||||
android:drawablePadding="3dp"
|
||||
android:gravity="center_vertical"
|
||||
android:text="换一换"
|
||||
android:textColor="#ff878b9c"
|
||||
android:textSize="11sp" />
|
||||
|
||||
<com.nnbc123.library.widget.DrawableCenterTextView
|
||||
android:id="@+id/tv_new_filter"
|
||||
android:layout_width="53dp"
|
||||
android:layout_height="23dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/shape_white_round_23dp"
|
||||
android:drawableEnd="@drawable/ic_home_arrow_new"
|
||||
android:drawablePadding="3dp"
|
||||
android:gravity="center_vertical"
|
||||
android:text="全部"
|
||||
android:textColor="#ff878b9c"
|
||||
android:textSize="11sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/view_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
|
||||
|
||||
</layout>
|
Reference in New Issue
Block a user