优化社区-论坛Tab的UI

This commit is contained in:
lyr
2021-06-29 15:07:10 +08:00
parent 7b0d2a25c8
commit 2aaa7f2795
4 changed files with 17 additions and 11 deletions

View File

@ -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))
}
}

View File

@ -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))
}