我的页面UI修改

This commit is contained in:
huangjian
2022-07-25 19:08:11 +08:00
parent 9c558ceb3d
commit 926396312f
10 changed files with 144 additions and 56 deletions

View File

@@ -6,6 +6,7 @@ import android.text.TextUtils
import android.util.SparseArray import android.util.SparseArray
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
@@ -30,9 +31,10 @@ import com.yizhuan.erban.ui.pay.ChargeActivity
import com.yizhuan.erban.ui.relation.AttentionListActivity import com.yizhuan.erban.ui.relation.AttentionListActivity
import com.yizhuan.erban.ui.relation.FansListActivity import com.yizhuan.erban.ui.relation.FansListActivity
import com.yizhuan.erban.ui.utils.ImageLoadUtils import com.yizhuan.erban.ui.utils.ImageLoadUtils
import com.yizhuan.erban.ui.utils.load
import com.yizhuan.erban.ui.widget.OnPageSelectedListener import com.yizhuan.erban.ui.widget.OnPageSelectedListener
import com.yizhuan.erban.vip.VipHelper
import com.yizhuan.erban.vip.VipMainActivity.Companion.start import com.yizhuan.erban.vip.VipMainActivity.Companion.start
import com.yizhuan.erban.vip.VipViewModel
import com.yizhuan.xchat_android_core.auth.AuthModel import com.yizhuan.xchat_android_core.auth.AuthModel
import com.yizhuan.xchat_android_core.home.event.VisitorUnreadCountEvent import com.yizhuan.xchat_android_core.home.event.VisitorUnreadCountEvent
import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment
@@ -74,6 +76,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
private lateinit var mBinding: FragmentMeBinding private lateinit var mBinding: FragmentMeBinding
private val meViewModel: MeViewModel by viewModels() private val meViewModel: MeViewModel by viewModels()
private val homeViewModel: HomeViewModel by activityViewModels() private val homeViewModel: HomeViewModel by activityViewModels()
private val vipViewModel: VipViewModel by viewModels()
override fun getRootLayoutId(): Int { override fun getRootLayoutId(): Int {
return R.layout.fragment_me return R.layout.fragment_me
} }
@@ -88,9 +91,10 @@ class MeFragment : BaseFragment(), View.OnClickListener {
EventBus.getDefault().unregister(this) EventBus.getDefault().unregister(this)
} }
@SuppressLint("CheckResult") @SuppressLint("CheckResult", "SetTextI18n")
override fun initiate() { override fun initiate() {
EventBus.getDefault().register(this) EventBus.getDefault().register(this)
vipViewModel.getVipPageInfo()
RxBusHelper.doOnMainThread( RxBusHelper.doOnMainThread(
NobleProtocol::class.java, NobleProtocol::class.java,
mCompositeDisposable mCompositeDisposable
@@ -132,6 +136,23 @@ class MeFragment : BaseFragment(), View.OnClickListener {
AVRoomActivity.start(mContext, it.uid) AVRoomActivity.start(mContext, it.uid)
} }
} }
vipViewModel.myVipInfoLiveData.observe(viewLifecycleOwner) {
it?.let {
mBinding.ivVipIcon.isVisible = true
mBinding.flVipSeek.isVisible = true
mBinding.ivVipIcon.load(it.vipIcon)
mBinding.tvVipDesc.text = "距下一等级还差${it.levelUpScore}权力值"
mBinding.tvVipName.text = it.vipName
mBinding.tvNextVipName.text = it.nextVipName
mBinding.seekBarVip.max = it.levelUpScore
mBinding.seekBarVip.progress = it.currScore.coerceAtMost(it.levelUpScore)
} ?: run {
mBinding.ivVipIcon.isVisible = false
mBinding.flVipSeek.isVisible = false
mBinding.tvVipName.text = "贵族中心"
mBinding.tvVipDesc.text = "开通贵族立享各项特权>>"
}
}
} }
@@ -271,6 +292,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
setUserData() setUserData()
} }
@SuppressLint("SetTextI18n")
private fun setUserData() { private fun setUserData() {
mUserInfo?.let { mUserInfo?.let {
mBinding.userInfo = mUserInfo mBinding.userInfo = mUserInfo
@@ -310,12 +332,6 @@ class MeFragment : BaseFragment(), View.OnClickListener {
val star = StarUtils.getConstellation(Date(it.birth)) val star = StarUtils.getConstellation(Date(it.birth))
mBinding.tvConstellation.text = star mBinding.tvConstellation.text = star
setUserLevel(it.userLevelVo) setUserLevel(it.userLevelVo)
VipHelper.loadVipIcon(mBinding.ivVipIcon, it.userVipInfoVO)
if (it.userVipInfoVO == null || it.userVipInfoVO.vipLevel == 0) {
mBinding.tvVipDesc.text = "开通贵族立享各项特权>>"
} else {
mBinding.tvVipDesc.text = "查看我的特权>>"
}
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定义轨道的背景 -->
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<solid android:color="#8770DC"/>
<corners android:radius="@dimen/dp_10" />
</shape>
</item>
<!-- 定义轨道上已完成部分的样式 -->
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%">
<shape android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:radius="@dimen/dp_10" />
</shape>
</scale>
</item>
</layer-list>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white" />
<corners
android:bottomLeftRadius="100dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="100dp"
android:topRightRadius="0dp" />
</shape>

View File

@@ -114,17 +114,6 @@
app:layout_constraintStart_toEndOf="@id/iv_user_head" app:layout_constraintStart_toEndOf="@id/iv_user_head"
app:layout_constraintTop_toTopOf="@id/iv_user_head"> app:layout_constraintTop_toTopOf="@id/iv_user_head">
<ImageView
android:id="@+id/iv_vip_icon"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:adjustViewBounds="true"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/tv_user_name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_user_name"
tools:src="@drawable/ic_user_charm_level"
tools:visibility="visible" />
<TextView <TextView
android:id="@+id/tv_user_name" android:id="@+id/tv_user_name"
@@ -139,7 +128,7 @@
android:textSize="@dimen/sp_16" android:textSize="@dimen/sp_16"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0" app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toEndOf="@id/iv_vip_icon" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_default="wrap" app:layout_constraintWidth_default="wrap"
app:layout_goneMarginStart="0dp" app:layout_goneMarginStart="0dp"
@@ -151,7 +140,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
app:layout_constraintStart_toStartOf="@id/iv_vip_icon" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_user_name"> app:layout_constraintTop_toBottomOf="@id/tv_user_name">
@@ -182,13 +171,28 @@
tools:ignore="ContentDescription" tools:ignore="ContentDescription"
tools:src="@drawable/ic_gender_female" /> tools:src="@drawable/ic_gender_female" />
<TextView
android:id="@+id/tv_constellation"
android:layout_width="42dp"
android:layout_height="15dp"
android:layout_marginStart="5dp"
android:background="@drawable/bg_me_sign"
android:gravity="center"
android:textColor="@color/color_FFFFFF"
android:textSize="10sp"
app:layout_constraintBottom_toBottomOf="@id/iv_sex"
app:layout_constraintStart_toEndOf="@id/iv_sex"
app:layout_constraintTop_toTopOf="@id/iv_sex"
tools:ignore="SmallSp"
tools:text="摩羯座" />
<LinearLayout <LinearLayout
android:id="@+id/ll_icon" android:id="@+id/ll_icon"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="3dp" android:layout_marginTop="3dp"
android:gravity="center_vertical" android:gravity="center_vertical"
app:layout_constraintStart_toStartOf="@id/iv_vip_icon" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_id"> app:layout_constraintTop_toBottomOf="@id/ll_id">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
@@ -230,18 +234,6 @@
android:visibility="gone" android:visibility="gone"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />
<TextView
android:id="@+id/tv_constellation"
android:layout_width="42dp"
android:layout_height="15dp"
android:layout_marginEnd="5dp"
android:background="@drawable/bg_me_sign"
android:gravity="center"
android:textColor="@color/color_FFFFFF"
android:textSize="10sp"
tools:ignore="SmallSp"
tools:text="摩羯座" />
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
@@ -250,7 +242,7 @@
android:id="@+id/me_item_skill" android:id="@+id/me_item_skill"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="28dp" android:layout_height="28dp"
android:background="@drawable/shape_1a000_left_100dp" android:background="@drawable/shape_white_left_100dp"
android:drawableStart="@mipmap/icon_skill_card" android:drawableStart="@mipmap/icon_skill_card"
android:drawablePadding="5dp" android:drawablePadding="5dp"
android:gravity="center" android:gravity="center"
@@ -429,11 +421,11 @@
android:id="@+id/tv_diamond_num" android:id="@+id/tv_diamond_num"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="50dp" android:layout_marginStart="14dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:maxLines="1" android:maxLines="1"
android:text="0" android:text="0"
android:textColor="#FFE398" android:textColor="@color/color_333333"
android:textSize="@dimen/sp_18" android:textSize="@dimen/sp_18"
android:textStyle="bold" android:textStyle="bold"
tools:text="999" /> tools:text="999" />
@@ -441,12 +433,12 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="50dp" android:layout_marginStart="14dp"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:maxLines="1" android:maxLines="1"
android:text="钻石充值" android:text="钻石充值"
android:textColor="@color/color_999999" android:textColor="@color/black_transparent_30"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</LinearLayout> </LinearLayout>
@@ -461,33 +453,84 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:onClick="@{click}" android:onClick="@{click}"
android:orientation="vertical" android:orientation="vertical"
android:paddingStart="14dp"
app:layout_constraintDimensionRatio="328:128" app:layout_constraintDimensionRatio="328:128"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/me_item_wallet" app:layout_constraintStart_toEndOf="@id/me_item_wallet"
app:layout_constraintTop_toTopOf="@id/me_item_wallet"> app:layout_constraintTop_toTopOf="@id/me_item_wallet">
<TextView <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="50dp" android:gravity="center_vertical">
android:gravity="center_vertical"
android:maxLines="1" <ImageView
android:text="贵族中心" android:id="@+id/iv_vip_icon"
android:textColor="#FFE595" android:layout_width="wrap_content"
android:textSize="@dimen/sp_18" /> android:layout_height="20dp"
android:layout_marginEnd="5dp"
android:adjustViewBounds="true"
android:visibility="gone"
tools:src="@drawable/ic_user_charm_level" />
<TextView
android:id="@+id/tv_vip_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:maxLines="1"
android:textStyle="bold"
android:text="贵族中心"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_18" />
</LinearLayout>
<TextView <TextView
android:id="@+id/tv_vip_desc" android:id="@+id/tv_vip_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:maxLines="1" android:maxLines="1"
android:text="开通贵族立享各项特权" android:text="开通贵族立享各项特权"
android:textColor="@color/color_999999" android:textColor="@color/black_transparent_30"
android:textSize="@dimen/sp_10" /> android:textSize="@dimen/sp_10" />
<FrameLayout
android:id="@+id/fl_vip_seek"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginEnd="14dp"
android:visibility="gone">
<ProgressBar
android:id="@+id/seek_bar_vip"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="10dp"
android:max="100"
android:progress="50"
android:progressDrawable="@drawable/bg_me_vip_seek_bar"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@id/iv_auth_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_auth_text" />
<TextView
android:id="@+id/tv_next_vip_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="4dp"
android:includeFontPadding="false"
android:text="神皇"
android:textColor="#66333333"
android:textSize="8sp" />
</FrameLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@@ -506,8 +549,8 @@
<androidx.viewpager.widget.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager_entrance" android:id="@+id/view_pager_entrance"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="10dp" android:layout_height="146dp"
android:layout_height="146dp" /> android:layout_marginTop="10dp" />
<com.yizhuan.erban.home.widget.MePageIndicatorView <com.yizhuan.erban.home.widget.MePageIndicatorView
android:id="@+id/magic_indicator_entrance" android:id="@+id/magic_indicator_entrance"

View File

@@ -19,10 +19,10 @@
<ImageView <ImageView
android:id="@+id/iv_new" android:id="@+id/iv_new"
android:layout_width="21dp" android:layout_width="24dp"
android:layout_height="12dp" android:layout_height="10dp"
android:layout_marginStart="20dp" android:layout_marginStart="19dp"
android:layout_marginBottom="25dp" android:layout_marginBottom="28dp"
android:src="@drawable/ic_me_new" android:src="@drawable/ic_me_new"
android:visibility="gone" android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/iv_pic" app:layout_constraintBottom_toBottomOf="@id/iv_pic"
@@ -38,8 +38,8 @@
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:maxLines="1" android:maxLines="1"
android:textColor="@color/color_333333" android:textColor="@color/color_666666"
android:textSize="10dp" android:textSize="12dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_pic" app:layout_constraintTop_toBottomOf="@id/iv_pic"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1004 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB