[Modify]修改标签bug

This commit is contained in:
wushaocheng
2023-02-21 14:58:19 +08:00
parent eda754d78a
commit a4b922e360
7 changed files with 93 additions and 29 deletions

View File

@@ -150,6 +150,9 @@ class EditUserLabelActivity : BaseViewBindingActivity<ActivityEditUserLabelBindi
mMyLabelAdapter.setOnItemChildClickListener { _, _, position ->
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

View File

@@ -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<ActivityUserInfoModifyBin
override fun onSuccess(areaList: List<String>) {
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<ActivityUserInfoModifyBin
if ((labelList?.size ?: 0) > 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

View File

@@ -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<String, BaseViewHolder>(R.layout.item_user_modify_label) {
override fun convert(helper: BaseViewHolder, item: String) {
val tvLabel = helper.getView<AppCompatTextView>(R.id.tv_user_tag)
tvLabel.isSelected = helper.layoutPosition <3
helper.setText(R.id.tv_user_tag, item)
}
}

View File

@@ -44,6 +44,7 @@ class UserAreaDialog :
override fun init() {
mOptionsItems = arguments?.getSerializable(KEY_AREA) as List<String>?
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] }

View File

@@ -267,27 +267,33 @@
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"/>
<TextView
android:id="@+id/tv_tag"
android:layout_width="wrap_content"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="180dp"
android:layout_height="match_parent"
android:gravity="center_vertical|end"
android:textColor="@color/color_6D6B89"
android:textSize="@dimen/font_normal"
android:text="@string/setting_personal_tags_will_be_more_popular"
app:layout_constraintEnd_toStartOf="@+id/iv_label_arrow"/>
app:layout_constraintEnd_toStartOf="@+id/iv_label_arrow">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mLabelRecyclerView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:overScrollMode="never"
android:scrollbars="none"
android:visibility="gone"
app:layout_constraintStart_toStartOf="@+id/tv_tag"
app:layout_constraintEnd_toEndOf="@+id/tv_tag"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<TextView
android:id="@+id/tv_tag"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical|end"
android:textColor="@color/color_6D6B89"
android:textSize="@dimen/font_normal"
android:text="@string/setting_personal_tags_will_be_more_popular"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mLabelRecyclerView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:overScrollMode="never"
android:scrollbars="none"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@+id/tv_tag"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/iv_label_arrow"

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.AppCompatTextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tv_user_tag"
android:textColor="@color/color_selector_user_info_label"
android:textSize="@dimen/sp_10"
android:layout_marginStart="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_6"
android:paddingTop="@dimen/dp_2"
android:paddingEnd="@dimen/dp_6"
android:paddingBottom="@dimen/dp_2"
android:background="@drawable/selector_user_info_label"
tools:text="上班族" />

View File

@@ -5074,6 +5074,6 @@
<string name="gold_exchange_permission_of_the_user_has_been_enabled">已開啟該用戶的金幣兌換權限~</string>
<string name="max_to_add_label">最多只能添加20個標簽哦~</string>
<string name="edit_your_user_label">設置你的個人標簽</string>
<string name="other_label">TA的标签</string>
<string name="other_label">TA的標簽</string>
</resources>