1.UI调整 2.关系系统消息处理

This commit is contained in:
yitao_hello
2022-02-23 02:12:31 +08:00
parent 7b58e593ad
commit 3754f78bcc
18 changed files with 273 additions and 124 deletions

View File

@@ -2,14 +2,19 @@ package com.yizhuan.erban.relation.cp.activity
import android.content.Context
import android.content.Intent
import android.graphics.Color
import androidx.activity.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseBindingActivity
import com.yizhuan.erban.common.EmptyViewHelper
import com.yizhuan.erban.databinding.ActivityCpInviteRecordBinding
import com.yizhuan.erban.relation.cp.CpViewHelper
import com.yizhuan.erban.relation.cp.adapter.InviteRecordAdapter
import com.yizhuan.erban.relation.cp.dialog.CpInviteReplyConfirmDialog
import com.yizhuan.erban.relation.cp.viewmodel.CpViewModel
import com.yizhuan.erban.ui.widget.dialog.CommonTipDialog
import com.yizhuan.xchat_android_core.relation.cp.UserCpListEntity
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
@ActLayoutRes(R.layout.activity_cp_invite_record)
@@ -17,10 +22,19 @@ class CpInviteRecordActivity : BaseBindingActivity<ActivityCpInviteRecordBinding
private val vm: CpViewModel by viewModels()
private lateinit var adapter: InviteRecordAdapter
private val type = 1// 1-别人给我发的邀请2-我给别人发的邀请
private val confirmDialog: CpInviteReplyConfirmDialog by lazy {
CpInviteReplyConfirmDialog(this)
}
override fun init() {
initTitleBar("关系申请")
adapter = InviteRecordAdapter(this)
adapter.onVisitClickListener = object : InviteRecordAdapter.OnVisitClickListener {
override fun onVisitClick(item: UserCpListEntity) {
onItemClick(item)
}
}
val layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
mBinding.recyclerView.layoutManager = layoutManager
adapter.emptyView = EmptyViewHelper.createEmptyView(this, "暂无数据")
@@ -35,7 +49,12 @@ class CpInviteRecordActivity : BaseBindingActivity<ActivityCpInviteRecordBinding
vm.loadingLiveData.observe(this) {
if (it) dialogManager.showProgressDialog(this)
else dialogManager.dismissDialog()
if (mBinding.swipeRefresh.isRefreshing) {
mBinding.swipeRefresh.isRefreshing = false
}
}
queryRecord(type)
}
private fun queryRecord(type: Int) {
@@ -48,4 +67,27 @@ class CpInviteRecordActivity : BaseBindingActivity<ActivityCpInviteRecordBinding
context.startActivity(intent)
}
}
private fun onItemClick(item: UserCpListEntity) {
confirmDialog.setDialogTitle(
CpViewHelper.getColorSpan(
"是否同意与${item.inviteUserNick}成为CP",
Color.parseColor("#4C5AF1"),
5, item.inviteUserNick.length
)
)
if (confirmDialog.okCancelListener == null) {
confirmDialog.okCancelListener = object : CommonTipDialog.OnActionListener {
override fun onOk() {
vm.replyInvite(item.id, 2)
}
override fun onCancel() {
vm.replyInvite(item.id, 3)
}
}
}
if (confirmDialog.isShowing) confirmDialog.closeDialog()
confirmDialog.openDialog()
}
}

View File

@@ -1,5 +1,7 @@
package com.yizhuan.erban.relation.cp.activity
import android.content.Context
import android.content.Intent
import android.view.View
import android.widget.TextView
import androidx.activity.viewModels
@@ -70,7 +72,7 @@ class CpTaskActivity : BaseBindingActivity<ActivityCpTaskBinding>(),
for (i in titles.indices) {
val itemView = layoutInflater.inflate(
R.layout.layout_cp_task_introduce,
null,false
null, false
)
itemView.findViewById<TextView>(R.id.tv_cp_level_title).text = titles[i]
itemView.findViewById<TextView>(R.id.tv_cp_level_content).text = contents[i]
@@ -100,4 +102,10 @@ class CpTaskActivity : BaseBindingActivity<ActivityCpTaskBinding>(),
override fun onItemSelect(position: Int) {
mBinding.viewPager.currentItem = position
}
companion object {
fun start(context: Context) {
context.startActivity(Intent(context, CpTaskActivity::class.java))
}
}
}

View File

@@ -35,7 +35,7 @@ class InviteRecordAdapter(private val context: Context) :
4 -> tvVisit.text = context.resources.getString(R.string.invite_cp_state_unbinding)
5 -> tvVisit.text = context.resources.getString(R.string.invite_cp_state_unbound)
}
tvVisit.isEnabled = it == 0
tvVisit.isEnabled = it == 1
}
tvVisit.setOnClickListener {
if (item != null) {

View File

@@ -14,6 +14,7 @@ import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2
import com.yizhuan.erban.ui.widget.LinearLayoutManagerWrapper
import com.yizhuan.xchat_android_core.relation.cp.CpInvitePageEntity
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
import com.yizhuan.xchat_android_library.utils.ScreenUtils
@ActLayoutRes(R.layout.dialog_cp_invite)
class CpInvitePageDialog(context: Context) : View.OnClickListener,
@@ -22,6 +23,8 @@ class CpInvitePageDialog(context: Context) : View.OnClickListener,
var invitePageEntity: CpInvitePageEntity? = null
private val adapter = DeclarationRecommendAdapter()
override fun init() {
width = (ScreenUtils.getScreenWidth(context) * (352f / 375f)).toInt()
height = (ScreenUtils.getScreenHeight(context) * 0.85).toInt()
invitePageEntity?.let {
binding.cpCard.setInviteDialogPageData(invitePageEntity)
ImageLoadUtilsV2.loadImage(binding.ivGift, it.propsImg)

View File

@@ -3,6 +3,7 @@ package com.yizhuan.erban.relation.cp.dialog
import android.content.Context
import android.text.SpannableStringBuilder
import android.view.View
import com.netease.nim.uikit.common.util.sys.ScreenUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.databinding.DialogCpInviteReplyConfirmBinding
import com.yizhuan.erban.treasure_box.widget.dialog.BaseBindingDialog
@@ -12,20 +13,28 @@ import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
@ActLayoutRes(R.layout.dialog_cp_invite_reply_confirm)
class CpInviteReplyConfirmDialog(context: Context) :
BaseBindingDialog<DialogCpInviteReplyConfirmBinding>(context), View.OnClickListener {
private var text: CharSequence? = null
var okCancelListener: CommonTipDialog.OnActionListener? = null
override fun init() {
width = ScreenUtil.dip2px(300f)
binding.click = this
binding.tvMessage.text = text
}
fun setTitle(text: SpannableStringBuilder) {
binding.tvMessage.text = text
fun setDialogTitle(text: SpannableStringBuilder) {
this.text = text
}
override fun onClick(v: View) {
when (v.id) {
R.id.tv_refuse -> okCancelListener?.onCancel()
R.id.tv_confirm -> okCancelListener?.onOk()
R.id.tv_refuse -> {
okCancelListener?.onCancel()
closeDialog()
}
R.id.tv_agree -> {
okCancelListener?.onOk()
closeDialog()
}
}
}
}

View File

@@ -1,25 +1,36 @@
package com.yizhuan.erban.relation.cp.fragment
import android.os.Bundle
import android.view.View
import androidx.fragment.app.activityViewModels
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseViewBindingFragment
import com.yizhuan.erban.databinding.FragmentUserinfoCpBinding
import com.yizhuan.erban.relation.cp.viewmodel.CpViewModel
import com.yizhuan.erban.relation.cp.widget.RelationCpCardView
import com.yizhuan.erban.ui.im.friend.FriendFragmentCpDelegate
import com.yizhuan.erban.ui.relation.FansListActivity
import com.yizhuan.xchat_android_core.auth.AuthModel
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
@ActLayoutRes(R.layout.fragment_userinfo_cp)
class UserInfoCpFragment : BaseViewBindingFragment<FragmentUserinfoCpBinding>() {
class UserInfoCpFragment : BaseViewBindingFragment<FragmentUserinfoCpBinding>(),
View.OnClickListener {
private val vm: CpViewModel by activityViewModels()
private var uid: Long? = 0L
private val delegate: FriendFragmentCpDelegate by lazy {
FriendFragmentCpDelegate(this)
}
override fun init() {
val uid = arguments?.getLong("type")
uid = arguments?.getLong("type")
val isSelf = uid == AuthModel.get().currentUid
val type = if (isSelf) RelationCpCardView.PAGE_TYPE_SELF_INFO
else RelationCpCardView.PAGE_TYPE_CUS_INFO
vm.cpRelation.observe(this) {
binding.cpCardView.setCpEntityData(
AuthModel.get().currentUid,
RelationCpCardView.PAGE_TYPE_CUS_INFO,
it
type, it
)
}
vm.loadingLiveData.observe(this) {
@@ -27,6 +38,7 @@ class UserInfoCpFragment : BaseViewBindingFragment<FragmentUserinfoCpBinding>()
else dialogManager.dismissDialog()
}
uid?.let { vm.getCpRelation(it) }
binding.cpCardView.setClick(this)
}
companion object {
@@ -36,4 +48,21 @@ class UserInfoCpFragment : BaseViewBindingFragment<FragmentUserinfoCpBinding>()
arguments = bundle
}
}
override fun onClick(v: View) {
when (v.id) {
R.id.other_avatar -> {
if (vm.cpRelation.value?.cpUid == 0L) {
//自己-邀请
FansListActivity.start(requireContext(), FansListActivity.TYPE_CP)
}
}
R.id.mine_avatar -> {
}
R.id.iv_invite -> {
uid?.let { delegate.inviteCp(it)}
}
}
}
}

View File

@@ -137,6 +137,17 @@ class CpViewModel : BaseViewModel() {
)
}
fun replyInvite(id: Int, state: Int) {
_loadingLiveData.value = true
safeLaunch(
onError = dealCpDataError,
block = {
CpModel.replyCpInvite(id, state)
_loadingLiveData.value = false
}
)
}
private val dealCpDataError: (e: Throwable) -> Unit = {
_loadingLiveData.value = false
it.message.toast()

View File

@@ -21,6 +21,8 @@ import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity;
import com.yizhuan.erban.public_chat_hall.activity.PublicChatHallHomeActivity;
import com.yizhuan.erban.radish.signin.SignInActivity;
import com.yizhuan.erban.radish.task.activity.TaskCenterActivity;
import com.yizhuan.erban.relation.cp.activity.CpInviteRecordActivity;
import com.yizhuan.erban.relation.cp.activity.CpTaskActivity;
import com.yizhuan.erban.team.view.NimTeamMessageActivity;
import com.yizhuan.erban.ui.login.BindPhoneActivity;
import com.yizhuan.erban.ui.login.ShowBindPhoneActivity;
@@ -127,7 +129,7 @@ public class RouterHandler {
break;
case RouterType.BINDING_ALI_PAY_ACCOUNT:
if (AuthModel.get().getCurrentUid() > 0){
if (AuthModel.get().getCurrentUid() > 0) {
WithdrawModel.get().getWithdrawUserInfo(AuthModel.get().getCurrentUid())
.subscribe(withdrawInfo -> {
if (withdrawInfo != null) {
@@ -281,6 +283,12 @@ public class RouterHandler {
case RouterType.VIP_MAIN:
VipMainActivity.start(context);
break;
case RouterType.CP_INVITE:
CpInviteRecordActivity.Companion.start(context);
break;
case RouterType.CP_TASK:
CpTaskActivity.Companion.start(context);
break;
default:
SingleToastUtil.showToast("暂不支持哟!");
return false;
@@ -317,15 +325,15 @@ public class RouterHandler {
if (partyRoomResult.getData().size() > 0) {
AvRoomDataManager.get().setRoomUidList(partyRoomResult.getData());
AVRoomActivity.start(context, true);
}else {
} else {
SingleToastUtil.showToastShort("暂无嗨聊房");
}
}else if (partyRoomResult.getData() != null && !partyRoomResult.isSuccess()){
} else if (partyRoomResult.getData() != null && !partyRoomResult.isSuccess()) {
SingleToastUtil.showToastShort(partyRoomResult.getError());
}else {
} else {
SingleToastUtil.showToastShort("未知错误");
}
}else {
} else {
SingleToastUtil.showToastShort("暂无嗨聊房");
}
})

View File

@@ -33,6 +33,7 @@ import com.yizhuan.erban.databinding.ActivityUserInfoBinding;
import com.yizhuan.erban.family.view.activity.FamilyHomeActivity;
import com.yizhuan.erban.family.view.activity.FamilyMemberListActivity;
import com.yizhuan.erban.family.view.activity.FamilyMemberSearchActivity;
import com.yizhuan.erban.relation.cp.fragment.UserInfoCpFragment;
import com.yizhuan.erban.ui.im.avtivity.NimFriendModel;
import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
import com.yizhuan.erban.ui.user.adapter.SelfPhotoAdapter;
@@ -197,13 +198,15 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
private void initViewPager() {
List<Fragment> fragmentList = new ArrayList<>(2);
List<Fragment> fragmentList = new ArrayList<>(3);
fragmentList.add(new UserInfoInfoFragment());
fragmentList.add(new UserInfoDynamicFragment());
fragmentList.add(UserInfoCpFragment.Companion.newInstance(userId));
pagerAdapter = new UserInfoPagerAdapter(getSupportFragmentManager(), fragmentList);
final List<String> tagList = new ArrayList<>(2);
final List<String> tagList = new ArrayList<>(3);
tagList.add("资料");
tagList.add("动态");
tagList.add("亲密关系");
CommonNavigator commonNavigator = new CommonNavigator(context);
commonNavigator.setTitleWrapContent(true);
UserInfoIndicatorAdapter magicIndicatorAdapter = new UserInfoIndicatorAdapter(context, tagList);
@@ -213,7 +216,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
commonNavigator.setAdapter(magicIndicatorAdapter);
mBinding.magicIndicator.setNavigator(commonNavigator);
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
mBinding.viewPager.setOffscreenPageLimit(2);
mBinding.viewPager.setOffscreenPageLimit(3);
mBinding.viewPager.setAdapter(pagerAdapter);
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager);
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -17,7 +17,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_44"
android:layout_marginTop="@dimen/dp_25"
android:fillViewport="true"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="@dimen/dp_8"

View File

@@ -2,121 +2,128 @@
<layout>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_8"
android:layout_marginRight="@dimen/dp_8">
android:layout_marginRight="@dimen/dp_8"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_close"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:src="@drawable/ic_invite_dialog_close"
android:layout_marginEnd="@dimen/dp_35"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:layout_gravity="right"
android:layout_marginRight="@dimen/dp_20"
android:src="@drawable/ic_invite_dialog_close" />
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="619dp"
android:layout_marginTop="@dimen/dp_6"
android:background="@drawable/bg_cp_invite_dialog"
app:layout_constraintHorizontal_weight="1"
android:layout_height="0dp"
android:layout_weight="1"
android:fillViewport="true"
app:layout_constraintTop_toBottomOf="@id/iv_close">
<TextView
android:id="@+id/tv_tip"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginTop="80dp"
android:layout_marginRight="55dp"
android:gravity="center"
android:lineSpacingMultiplier="1.2"
android:text="送出一个邀请函并填写你们的关系誓言,\n即可邀请对方绑定CP"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="619dp"
android:background="@drawable/bg_cp_invite_dialog"
android:paddingBottom="@dimen/dp_30"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintTop_toBottomOf="@id/iv_close">
<com.yizhuan.erban.relation.cp.widget.RelationCpCardView
android:id="@+id/cp_card"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
app:layout_constraintLeft_toLeftOf="@id/tv_tip"
app:layout_constraintRight_toRightOf="@id/tv_tip"
app:layout_constraintTop_toBottomOf="@id/tv_tip"
tools:layout_height="68dp" />
<TextView
android:layout_marginTop="80dp"
android:id="@+id/tv_tip"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginRight="55dp"
android:gravity="center"
android:lineSpacingMultiplier="1.2"
android:text="送出一个邀请函并填写你们的关系誓言,\n即可邀请对方绑定CP"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.yizhuan.erban.relation.cp.widget.RelationCpCardView
android:id="@+id/cp_card"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
app:layout_constraintLeft_toLeftOf="@id/tv_tip"
app:layout_constraintRight_toRightOf="@id/tv_tip"
app:layout_constraintTop_toBottomOf="@id/tv_tip"
tools:layout_height="68dp" />
<ImageView
android:id="@+id/iv_gift"
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/iv_gift"
app:layout_constraintTop_toBottomOf="@id/tv_tip"
android:layout_marginTop="122dp"
app:layout_constraintLeft_toLeftOf="@id/tv_tip"
app:layout_constraintRight_toRightOf="@id/tv_tip"
tools:src="@drawable/ic_invite_dialog_close"
/>
app:layout_constraintTop_toBottomOf="@id/tv_tip"
tools:src="@drawable/ic_invite_dialog_close" />
<TextView
android:id="@+id/tv_price"
android:layout_width="146dp"
android:layout_height="48dp"
android:layout_marginTop="124dp"
android:background="@drawable/bg_invite_dialog_price"
android:gravity="center"
android:text="邀请函\n52000钻石"
android:textColor="@color/white"
android:textSize="@dimen/sp_13"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/cp_card" />
<TextView
android:id="@+id/tv_price"
android:layout_width="146dp"
android:layout_height="48dp"
android:layout_marginTop="124dp"
android:background="@drawable/bg_invite_dialog_price"
android:gravity="center"
android:text="邀请函\n52000钻石"
android:textColor="@color/white"
android:textSize="@dimen/sp_13"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/cp_card" />
<EditText
android:id="@+id/edit_declaration"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_marginLeft="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_17"
android:layout_marginRight="@dimen/dp_8"
android:background="@drawable/bg_cp_invite_dilog_edit"
tools:hint="@string/invite_declaration_hint"
android:lineSpacingMultiplier="1.2"
android:padding="@dimen/dp_9"
android:textColor="#E0D5FF"
android:textColorHint="#E0D5FF"
android:textSize="@dimen/sp_10"
app:layout_constraintLeft_toLeftOf="@id/cp_card"
app:layout_constraintRight_toRightOf="@id/cp_card"
app:layout_constraintTop_toBottomOf="@id/tv_price" />
<EditText
android:id="@+id/edit_declaration"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_marginLeft="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_17"
android:layout_marginRight="@dimen/dp_8"
android:background="@drawable/bg_cp_invite_dilog_edit"
android:lineSpacingMultiplier="1.2"
android:padding="@dimen/dp_9"
android:textColor="#E0D5FF"
android:textColorHint="#E0D5FF"
android:textSize="@dimen/sp_10"
app:layout_constraintLeft_toLeftOf="@id/cp_card"
app:layout_constraintRight_toRightOf="@id/cp_card"
app:layout_constraintTop_toBottomOf="@id/tv_price"
tools:hint="@string/invite_declaration_hint" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_recommend"
android:layout_width="0dp"
android:layout_height="72dp"
app:layout_constraintLeft_toLeftOf="@id/edit_declaration"
app:layout_constraintRight_toRightOf="@id/edit_declaration"
app:layout_constraintTop_toBottomOf="@id/edit_declaration" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_recommend"
android:layout_width="0dp"
android:layout_height="72dp"
app:layout_constraintLeft_toLeftOf="@id/edit_declaration"
app:layout_constraintRight_toRightOf="@id/edit_declaration"
app:layout_constraintTop_toBottomOf="@id/edit_declaration" />
<TextView
android:id="@+id/tv_send"
android:layout_width="144dp"
android:layout_height="@dimen/dp_28"
android:layout_marginTop="@dimen/dp_30"
android:background="#f0f"
android:gravity="center"
android:text="发送邀请"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/rv_recommend" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_send"
android:layout_width="144dp"
android:layout_height="@dimen/dp_28"
android:layout_marginTop="@dimen/dp_30"
android:background="@drawable/bg_btn_invite_now"
android:gravity="center"
android:text="发送邀请"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/rv_recommend" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
</layout>

View File

@@ -18,10 +18,11 @@
android:layout_width="220dp"
android:layout_height="56dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/guide_view"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constrainedHeight="true"
android:layout_marginTop="@dimen/dp_36"
android:textSize="@dimen/sp_16"
android:gravity="center"
tools:text = "是否同意与与一二三四五六成为CP"
@@ -33,7 +34,6 @@
android:layout_width="101dp"
android:layout_height="@dimen/dp_32"
android:layout_marginLeft="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_32"
android:background="@drawable/bg_invite_reply_refuse"
android:gravity="center"
android:text="取消"
@@ -42,14 +42,13 @@
android:textSize="@dimen/sp_12"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/tv_agree"
app:layout_constraintTop_toBottomOf="@id/tv_message" />
app:layout_constraintBottom_toBottomOf="@id/guide_view" />
<TextView
android:id="@+id/tv_agree"
android:layout_width="101dp"
android:layout_height="@dimen/dp_32"
android:layout_marginLeft="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_32"
android:layout_marginRight="@dimen/dp_30"
android:background="@drawable/bg_invite_reply_agree"
android:gravity="center"
@@ -59,7 +58,17 @@
android:textSize="@dimen/sp_12"
app:layout_constraintLeft_toRightOf="@id/tv_refuse"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_message" />
app:layout_constraintBottom_toBottomOf="@id/guide_view" />
<Space
android:id="@+id/guide_view"
android:layout_width="1dp"
android:layout_height="1dp"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/tv_message"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginTop="64dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -9,6 +9,10 @@
android:paddingLeft="@dimen/dp_8"
android:paddingTop="6dp"
android:paddingRight="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_6"
android:layout_marginBottom="@dimen/dp_6"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:paddingBottom="6dp">
<com.yizhuan.erban.common.widget.CircleImageView

View File

@@ -56,8 +56,8 @@
android:layout_marginTop="@dimen/dp_6"
android:background="@drawable/bg_cp_text_perpule"
android:ellipsize="end"
android:paddingLeft="@dimen/dp_16"
android:paddingRight="@dimen/dp_16"
android:paddingLeft="@dimen/dp_6"
android:paddingRight="@dimen/dp_6"
android:layout_marginLeft="@dimen/dp_4"
android:singleLine="true"
android:text="@{inviteData==null?cpEntity.nick:inviteData.inviteNick}"
@@ -137,8 +137,8 @@
android:layout_marginTop="@dimen/dp_6"
android:background="@drawable/bg_cp_text_perpule"
android:ellipsize="end"
android:paddingLeft="@dimen/dp_16"
android:paddingRight="@dimen/dp_16"
android:paddingLeft="@dimen/dp_6"
android:paddingRight="@dimen/dp_6"
android:singleLine="true"
android:text="@{inviteData==null?(cpEntity.cpUid==0?@string/invite_cp:cpEntity.cpNick):inviteData.acceptNick}"
android:textColor="@color/white"

View File

@@ -931,4 +931,5 @@
<string name="invite_cp_state_refused">已拒绝</string>
<string name="invite_cp_state_unbinding">解绑中</string>
<string name="invite_cp_state_unbound">已解绑</string>
<string name="invite_cp_state_visit">查看</string>
</resources>

View File

@@ -198,4 +198,19 @@ public class RouterType {
*/
public static final int VIP_MAIN = 54;
/**
* Cp邀请
*/
public static final int CP_INVITE = 62;
/**
* Cp关系任务
*/
public static final int CP_TASK = 61;
/**
* CP头饰
*/
public static final int CP_HEAD_WARE = 63;
}

View File

@@ -1,14 +1,14 @@
package com.yizhuan.xchat_android_core.relation.cp
data class UserCpListEntity(
val acceptUid: Int,
val acceptUid: Long,
val acceptUserAvatar: String?,
val acceptUserNick: String,
val acceptUserSex: Int,//1-男 2女
val createTime: String,
val declaration: String,//关系誓言
val id: Int,//邀请记录id
val inviteUid: Int,//邀请人uid
val inviteUid: Long,//邀请人uid
val inviteUserAvatar: String?,//邀请方头像
val inviteUserNick: String,
val inviteUserSex: Int,