fix:调整UI问题
This commit is contained in:
@@ -25,13 +25,16 @@ class HomeFriendsGameTabAdapter :
|
||||
}
|
||||
}
|
||||
|
||||
override fun setNewData(data: MutableList<HomeGameTab>?) {
|
||||
super.setNewData(data)
|
||||
}
|
||||
|
||||
fun selectItem(position: Int) {
|
||||
val item = getItem(position) ?: return
|
||||
if (position == selectPosition) {
|
||||
fun selectItem(position: Int?) {
|
||||
val item = getItem(position ?: -1)
|
||||
if (item == null || position == null) {
|
||||
val oldPosition = selectPosition
|
||||
this.selectGameId = null
|
||||
this.selectPosition = null
|
||||
if (oldPosition != null) {
|
||||
notifyItemChanged(oldPosition)
|
||||
}
|
||||
} else if (position == selectPosition) {
|
||||
this.selectGameId = null
|
||||
this.selectPosition = null
|
||||
notifyItemChanged(position)
|
||||
|
@@ -33,7 +33,7 @@ import com.nnbc123.library.annatation.ActLayoutRes
|
||||
@ActLayoutRes(R.layout.home_fragment)
|
||||
class HomeFragment : BaseBindingFragment<HomeFragmentBinding>() {
|
||||
override fun initiate() {
|
||||
ImmersionBar.with(this).titleBarMarginTop(mBinding.magicIndicator).init()
|
||||
ImmersionBar.with(this).titleBarMarginTop(mBinding.vTitleBarTop).init()
|
||||
initTab()
|
||||
initEvent()
|
||||
}
|
||||
|
@@ -26,6 +26,7 @@ import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.utils.net.ServerException
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/12/18 17:59
|
||||
@@ -59,14 +60,20 @@ class FriendsFragment : BaseBindingFragment<HomeFriendsFragmentBinding>() {
|
||||
}
|
||||
mBinding.refreshLayout.isEnableLoadmore = false
|
||||
mBinding.refreshLayout.isEnableOverScrollBounce = false
|
||||
mBinding.refreshLayout.setOnRefreshListener {
|
||||
mBinding.refreshLayout.setOnRefreshListener { view ->
|
||||
mBinding.refreshLayout.finishRefresh()
|
||||
loadData()
|
||||
childFragmentManager.fragments.forEach {
|
||||
if (it is OnRefreshListener) {
|
||||
it.onRefresh(view)
|
||||
}
|
||||
}
|
||||
}
|
||||
childFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container_view, FriendsListFragment())
|
||||
.commitAllowingStateLoss()
|
||||
loadData()
|
||||
}
|
||||
|
||||
private fun initFilterTab() {
|
||||
@@ -161,20 +168,17 @@ class FriendsFragment : BaseBindingFragment<HomeFriendsFragmentBinding>() {
|
||||
dismiss()
|
||||
when (it.id) {
|
||||
R.id.tv_all -> {
|
||||
mBinding.tvGender.text = "全部"
|
||||
filterGender = null
|
||||
updateGender(null)
|
||||
refreshListData()
|
||||
}
|
||||
|
||||
R.id.tv_man -> {
|
||||
mBinding.tvGender.text = "男生"
|
||||
filterGender = 1
|
||||
updateGender(1)
|
||||
refreshListData()
|
||||
}
|
||||
|
||||
R.id.tv_woman -> {
|
||||
mBinding.tvGender.text = "女生"
|
||||
filterGender = 2
|
||||
updateGender(2)
|
||||
refreshListData()
|
||||
}
|
||||
}
|
||||
@@ -183,9 +187,21 @@ class FriendsFragment : BaseBindingFragment<HomeFriendsFragmentBinding>() {
|
||||
genderPopup?.show(mBinding.tvGender, Gravity.BOTTOM)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
loadData()
|
||||
private fun updateGender(gender: Int?) {
|
||||
filterGender = gender
|
||||
when (gender) {
|
||||
1 -> {
|
||||
mBinding.tvGender.text = "男生"
|
||||
}
|
||||
|
||||
2 -> {
|
||||
mBinding.tvGender.text = "女生"
|
||||
}
|
||||
|
||||
else -> {
|
||||
mBinding.tvGender.text = "全部"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
@@ -197,6 +213,9 @@ class FriendsFragment : BaseBindingFragment<HomeFriendsFragmentBinding>() {
|
||||
}
|
||||
|
||||
private fun loadData() {
|
||||
// 重置条件
|
||||
updateGender(null)
|
||||
tabAdapter.selectItem(null)
|
||||
if (homeViewModel.gameTabLiveData.value.isNullOrEmpty()) {
|
||||
viewModel.getHomeGameTab()
|
||||
}
|
||||
|
@@ -5,7 +5,8 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chuhai.utils.UiUtils
|
||||
@@ -20,13 +21,16 @@ import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.user.bean.UserInfo
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout
|
||||
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/12/18 19:35
|
||||
* Desc:
|
||||
**/
|
||||
@ActLayoutRes(R.layout.home_friends_list_fragment)
|
||||
class FriendsListFragment : BaseBindingFragment<HomeFriendsListFragmentBinding>() {
|
||||
class FriendsListFragment : BaseBindingFragment<HomeFriendsListFragmentBinding>(),
|
||||
OnRefreshListener {
|
||||
private val adapter = HomeFriendsUserAdapter()
|
||||
private val viewModel: FriendsViewModel by activityViewModels()
|
||||
private var rvDelegate: RVDelegate<UserInfo>? = null
|
||||
@@ -78,9 +82,6 @@ class FriendsListFragment : BaseBindingFragment<HomeFriendsListFragmentBinding>(
|
||||
private fun initEmptyView() {
|
||||
headerEmptyView = LayoutInflater.from(requireContext())
|
||||
.inflate(R.layout.home_friends_list_item_empty, null)
|
||||
headerEmptyView?.isVisible = false
|
||||
adapter.addHeaderView(headerEmptyView)
|
||||
adapter.headerLayout.clipChildren = false
|
||||
}
|
||||
|
||||
private fun initEvent() {
|
||||
@@ -98,17 +99,20 @@ class FriendsListFragment : BaseBindingFragment<HomeFriendsListFragmentBinding>(
|
||||
private fun initObserve() {
|
||||
viewModel.newFriendLiveData.observe(this) {
|
||||
if (it.data.isNullOrEmpty()) {
|
||||
headerEmptyView?.isVisible = true
|
||||
if (adapter.headerLayoutCount == 0) {
|
||||
adapter.addHeaderView(headerEmptyView)
|
||||
adapter.headerLayout.clipChildren = false
|
||||
}
|
||||
val list = viewModel.friendRecommendModeLiveData.value?.data?.toMutableList()
|
||||
recommendTitleView?.isVisible = !list.isNullOrEmpty()
|
||||
adapter.setNewData(list)
|
||||
} else {
|
||||
headerEmptyView?.isVisible = false
|
||||
adapter.removeAllHeaderView()
|
||||
rvDelegate?.loadData(it)
|
||||
}
|
||||
}
|
||||
viewModel.friendRecommendModeLiveData.observe(this) {
|
||||
if (headerEmptyView?.isVisible == true) {
|
||||
if (adapter.headerLayoutCount != 0) {
|
||||
recommendTitleView?.isVisible = !it.data.isNullOrEmpty()
|
||||
adapter.setNewData(it.data?.toMutableList())
|
||||
}
|
||||
@@ -121,4 +125,11 @@ class FriendsListFragment : BaseBindingFragment<HomeFriendsListFragmentBinding>(
|
||||
viewModel.getFriendRecommendMore()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onRefresh(refreshlayout: RefreshLayout?) {
|
||||
if (isVisible && lifecycle.currentState.isAtLeast(Lifecycle.State.RESUMED)) {
|
||||
// 刷新下更多推荐
|
||||
viewModel.getFriendRecommendMore()
|
||||
}
|
||||
}
|
||||
}
|
@@ -146,7 +146,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
getUserInfo();
|
||||
initAttentionView();
|
||||
initNestScrollView();
|
||||
setEditButton(identityState, true);
|
||||
setEditButton(identityState, false);
|
||||
setTitleVisible(false);
|
||||
// initViewPager(true);
|
||||
if (userId != AuthModel.get().getCurrentUid() && !VipHelper.isHideLookUser()) {
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 866 B |
Binary file not shown.
Before Width: | Height: | Size: 924 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_gender_female.webp
Normal file
BIN
app/src/main/res/drawable-xxhdpi/ic_gender_female.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 812 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_gender_male.webp
Normal file
BIN
app/src/main/res/drawable-xxhdpi/ic_gender_male.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 722 B |
6
app/src/main/res/drawable/base_shape_66000000_8dp.xml
Normal file
6
app/src/main/res/drawable/base_shape_66000000_8dp.xml
Normal file
@@ -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="#66000000" />
|
||||
<corners android:radius="@dimen/dp_8" />
|
||||
</shape>
|
6
app/src/main/res/drawable/base_shape_66000000_9dp.xml
Normal file
6
app/src/main/res/drawable/base_shape_66000000_9dp.xml
Normal file
@@ -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="#66000000" />
|
||||
<corners android:radius="@dimen/dp_9" />
|
||||
</shape>
|
@@ -30,6 +30,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="-7dp"
|
||||
android:clipToPadding="false"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="@dimen/dp_5"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
|
@@ -139,7 +139,7 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_goneMarginStart="@dimen/dp_15"
|
||||
tools:drawableRight="@drawable/ic_gender_male"
|
||||
tools:text="KiKing天地天地King天地天地ng天地天地" />
|
||||
tools:text="KiKinKiKing地" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_constellation"
|
||||
@@ -164,6 +164,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_26"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="@dimen/dp_14"
|
||||
android:background="@drawable/bg_attention"
|
||||
android:drawableStart="@drawable/icon_new_attention"
|
||||
android:drawablePadding="2dp"
|
||||
@@ -176,7 +177,6 @@
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_nick"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_constellation"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_nick"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
@@ -14,13 +14,20 @@
|
||||
app:layout_constraintDimensionRatio="375:250"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/v_title_bar_top"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.nnbc123.app.ui.widget.magicindicator.MagicIndicator
|
||||
android:id="@+id/magic_indicator"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_44"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toBottomOf="@id/v_title_bar_top" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/title_bar"
|
||||
|
@@ -8,10 +8,10 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.scwang.smartrefresh.layout.header.ClassicsHeader
|
||||
<com.nnbc123.app.home.refresh.HomeRefreshHeader
|
||||
android:id="@+id/refresh_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="47dp" />
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator_layout"
|
||||
@@ -75,6 +75,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
android:clipToPadding="false"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="@dimen/dp_10"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
|
@@ -24,7 +24,7 @@
|
||||
android:layout_height="@dimen/dp_17"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:layout_marginEnd="@dimen/dp_4"
|
||||
android:background="@drawable/base_shape_4d000000_9dp"
|
||||
android:background="@drawable/base_shape_66000000_9dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintEnd_toEndOf="@id/iv_avatar"
|
||||
@@ -129,7 +129,7 @@
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:layout_marginEnd="@dimen/dp_4"
|
||||
android:layout_marginBottom="@dimen/dp_5"
|
||||
android:background="@drawable/base_shape_4d000000_8dp"
|
||||
android:background="@drawable/base_shape_66000000_8dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:includeFontPadding="false"
|
||||
|
@@ -13,11 +13,6 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="47dp" />
|
||||
|
||||
<!-- <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"
|
||||
|
@@ -537,7 +537,5 @@ object HomeModel : BaseModel() {
|
||||
*/
|
||||
@GET("/home/game")
|
||||
suspend fun getHomeGame(): ServiceResult<HomeGameInfo>
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user