优化社区-论坛Tab的UI
This commit is contained in:
@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import com.gh.base.fragment.LazyFragment
|
||||
import com.gh.common.util.observeNonNull
|
||||
import com.gh.common.util.tryCatchInRelease
|
||||
import com.gh.common.util.viewModelProvider
|
||||
import com.gh.common.view.GridSpacingItemColorDecoration
|
||||
import com.gh.gamecenter.R
|
||||
@ -48,10 +49,12 @@ class ForumFragment: LazyFragment(), SwipeRefreshLayout.OnRefreshListener {
|
||||
super.initRealView()
|
||||
|
||||
mUserViewModel?.loginObsUserinfo?.observe(this, Observer {
|
||||
if (it?.data == null) {
|
||||
mBinding?.followForumContainer?.visibility = View.GONE
|
||||
if (!mIsFirst) {
|
||||
if (it?.data == null) {
|
||||
mBinding?.followForumContainer?.visibility = View.GONE
|
||||
}
|
||||
onRefresh()
|
||||
}
|
||||
onRefresh()
|
||||
})
|
||||
|
||||
mViewModel?.followForumsLiveData?.observe(viewLifecycleOwner, Observer {
|
||||
@ -138,9 +141,12 @@ class ForumFragment: LazyFragment(), SwipeRefreshLayout.OnRefreshListener {
|
||||
mHaveHotForum = false
|
||||
mBinding?.run {
|
||||
contentContainer.visibility = View.GONE
|
||||
reuseLoading.root.visibility = View.VISIBLE
|
||||
reuseLoading.root.visibility = if (refreshLayout.isRefreshing) View.GONE else View.VISIBLE
|
||||
}
|
||||
mViewModel?.getData()
|
||||
mBaseHandler.postDelayed({
|
||||
tryCatchInRelease { mViewModel?.getData() }
|
||||
}, 500)
|
||||
|
||||
}
|
||||
|
||||
private fun hideRefreshingLayout() {
|
||||
@ -193,10 +199,12 @@ class ForumFragment: LazyFragment(), SwipeRefreshLayout.OnRefreshListener {
|
||||
mBinding?.run {
|
||||
officialForumContainer.visibility = View.VISIBLE
|
||||
officialMore.setOnClickListener { startActivity(ForumListActivity.getIntent(requireContext(), ForumListActivity.TYPE_OFFICIAL)) }
|
||||
if (officialForumRv.adapter !is OfficialForumAdapter) {
|
||||
officialForumRv.addItemDecoration(GridSpacingItemColorDecoration(requireContext(), 0, 16, R.color.transparent))
|
||||
}
|
||||
officialForumRv.layoutManager = GridLayoutManager(requireContext(), 2)
|
||||
val newList = if (list.size > 6) list.subList(0, 6) else list
|
||||
officialForumRv.adapter = OfficialForumAdapter(requireContext(), "社区-论坛-热门论坛", newList)
|
||||
officialForumRv.addItemDecoration(GridSpacingItemColorDecoration(requireContext(), 0, 16, R.color.transparent))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -36,6 +36,8 @@ class OfficialForumAdapter(context: Context,
|
||||
entity = forumEntity
|
||||
executePendingBindings()
|
||||
|
||||
forumIv.displayGameIcon(forumEntity.icon, null)
|
||||
|
||||
root.setOnClickListener {
|
||||
mContext.startActivity(ForumDetailActivity.getIntent(mContext, forumEntity.id, entrance))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user