From a4b922e360da1966b25dc94f9c34627ebb38db80 Mon Sep 17 00:00:00 2001 From: wushaocheng <15876365887@163.com> Date: Tue, 21 Feb 2023 14:58:19 +0800 Subject: [PATCH] =?UTF-8?q?[Modify]=E4=BF=AE=E6=94=B9=E6=A0=87=E7=AD=BEbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/user/activity/EditUserLabelActivity.kt | 3 ++ .../user/activity/UserInfoModifyActivity.kt | 34 ++++++++++---- .../ui/user/adapter/UserModifyLabelAdapter.kt | 22 ++++++++++ .../erban/ui/user/dialog/UserAreaDialog.kt | 2 + .../res/layout/activity_user_info_modify.xml | 44 +++++++++++-------- .../res/layout/item_user_modify_label.xml | 15 +++++++ app/src/main/res/values/strings.xml | 2 +- 7 files changed, 93 insertions(+), 29 deletions(-) create mode 100644 app/src/main/java/com/yizhuan/erban/ui/user/adapter/UserModifyLabelAdapter.kt create mode 100644 app/src/main/res/layout/item_user_modify_label.xml diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserLabelActivity.kt b/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserLabelActivity.kt index 7d4b71eeb..e2da8ce24 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserLabelActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserLabelActivity.kt @@ -150,6 +150,9 @@ class EditUserLabelActivity : BaseViewBindingActivity EventBus.getDefault().post(LabelEvent(mMyLabelAdapter.data[position])) mMyLabelAdapter.remove(position) + if(mMyLabelAdapter.data.size == 0){ + binding.group.visibility = View.VISIBLE + } } val labelList = UserModel.get().cacheLoginUserInfo?.labels diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoModifyActivity.kt b/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoModifyActivity.kt index 8c10cd2a4..1e3ed8d5e 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoModifyActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoModifyActivity.kt @@ -4,6 +4,7 @@ import android.Manifest import android.annotation.SuppressLint import android.content.Intent import android.graphics.Bitmap +import android.graphics.Color import android.net.Uri import android.os.Bundle import android.provider.Settings @@ -27,14 +28,17 @@ import com.yizhuan.erban.application.XChatApplication import com.yizhuan.erban.audio.SoundSignatureActivity import com.yizhuan.erban.base.BaseViewBindingActivity import com.yizhuan.erban.common.util.BitmapUtil +import com.yizhuan.erban.common.util.Utils import com.yizhuan.erban.databinding.ActivityUserInfoModifyBinding import com.yizhuan.erban.ui.login.ModifyInfoActivity import com.yizhuan.erban.ui.user.adapter.UserInfoLabelAdapter +import com.yizhuan.erban.ui.user.adapter.UserModifyLabelAdapter import com.yizhuan.erban.ui.user.adapter.UserPhotoAdapter import com.yizhuan.erban.ui.user.adapter.UserPhotoAdapter.ImageClickListener import com.yizhuan.erban.ui.user.dialog.UserAreaDialog import com.yizhuan.erban.ui.utils.ImageLoadUtils import com.yizhuan.erban.ui.widget.dialog.CommonTipDialog +import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration import com.yizhuan.erban.utils.RegexUtil import com.yizhuan.xchat_android_core.auth.AuthModel import com.yizhuan.xchat_android_core.file.FileModel @@ -314,12 +318,14 @@ class UserInfoModifyActivity : BaseViewBindingActivity) { dialogManager.dismissDialog() - UserAreaDialog.newInstance(areaList) - .apply { - setAction { - reportArea(it) - } - }.show(this@UserInfoModifyActivity) + if (areaList.isNotEmpty()) { + UserAreaDialog.newInstance(areaList) + .apply { + setAction { + reportArea(it) + } + }.show(this@UserInfoModifyActivity) + } } override fun onError(e: Throwable) { @@ -476,16 +482,26 @@ class UserInfoModifyActivity : BaseViewBindingActivity 0) { binding.tvTag.visibility = View.INVISIBLE binding.mLabelRecyclerView.visibility = View.VISIBLE - val userInfoLabelAdapter = UserInfoLabelAdapter() + + binding.mLabelRecyclerView.addItemDecoration( + ColorDecoration( + Color.TRANSPARENT, + Utils.dip2px(this, 5f), + 0, + false + ) + ) + + val userModifyLabelAdapter = UserModifyLabelAdapter() val labelLayoutManager = LinesFlexBoxLayoutManager(this) labelLayoutManager.flexDirection = FlexDirection.ROW labelLayoutManager.alignItems = AlignItems.FLEX_START labelLayoutManager.setMaxLines(1) binding.mLabelRecyclerView.layoutManager = labelLayoutManager - binding.mLabelRecyclerView.adapter = userInfoLabelAdapter + binding.mLabelRecyclerView.adapter = userModifyLabelAdapter - userInfoLabelAdapter.setNewData(labelList) + userModifyLabelAdapter.setNewData(labelList) } else { binding.tvTag.visibility = View.VISIBLE binding.mLabelRecyclerView.visibility = View.GONE diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/adapter/UserModifyLabelAdapter.kt b/app/src/main/java/com/yizhuan/erban/ui/user/adapter/UserModifyLabelAdapter.kt new file mode 100644 index 000000000..986b264e2 --- /dev/null +++ b/app/src/main/java/com/yizhuan/erban/ui/user/adapter/UserModifyLabelAdapter.kt @@ -0,0 +1,22 @@ +package com.yizhuan.erban.ui.user.adapter + +import androidx.appcompat.widget.AppCompatTextView +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.BaseViewHolder +import com.yizhuan.erban.R + +/** + * author: wushaocheng + * Created by wushaocheng on 2023/2/16. + * desc: 用户标签 + */ +class UserModifyLabelAdapter : + BaseQuickAdapter(R.layout.item_user_modify_label) { + + override fun convert(helper: BaseViewHolder, item: String) { + val tvLabel = helper.getView(R.id.tv_user_tag) + tvLabel.isSelected = helper.layoutPosition <3 + helper.setText(R.id.tv_user_tag, item) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserAreaDialog.kt b/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserAreaDialog.kt index ca49e1334..51aea1425 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserAreaDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserAreaDialog.kt @@ -44,6 +44,7 @@ class UserAreaDialog : override fun init() { mOptionsItems = arguments?.getSerializable(KEY_AREA) as List? + mArea = mOptionsItems?.get(0) initListener() setWheelView() } @@ -66,6 +67,7 @@ class UserAreaDialog : private fun setWheelView() { mOptionsItems?.let { + binding.wheelView.setCyclic(false) binding.wheelView.adapter = ArrayWheelAdapter(it) binding.wheelView.setOnItemSelectedListener { index -> mArea = it[index] } diff --git a/app/src/main/res/layout/activity_user_info_modify.xml b/app/src/main/res/layout/activity_user_info_modify.xml index 19a78c920..386123c17 100644 --- a/app/src/main/res/layout/activity_user_info_modify.xml +++ b/app/src/main/res/layout/activity_user_info_modify.xml @@ -267,27 +267,33 @@ android:textSize="14sp" app:layout_constraintStart_toStartOf="parent"/> - + app:layout_constraintEnd_toStartOf="@+id/iv_label_arrow"> - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 248f5ed0b..125122bd6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5074,6 +5074,6 @@ 已開啟該用戶的金幣兌換權限~ 最多只能添加20個標簽哦~ 設置你的個人標簽 - TA的标签 + TA的標簽 \ No newline at end of file