个播PK房间UI实现

This commit is contained in:
huangjian
2022-04-11 19:06:25 +08:00
parent 8caab767aa
commit acb12e6f56
33 changed files with 477 additions and 364 deletions

View File

@@ -0,0 +1,42 @@
package com.yizhuan.erban.avroom.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.yizhuan.erban.R
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo
class SingleRoomPKMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context) {
/**
* Set LayoutManager and bind this to RecyclerView
*/
override fun bindToRecyclerView(recyclerView: RecyclerView) {
val layoutManager = LinearLayoutManager(context)
recyclerView.layoutManager = layoutManager
recyclerView.adapter = this
}
override fun getItemCount() = 1
override fun microType() = MICRO_TYPE_SINGLE
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return SingleAnchorBossMicroViewHolder(
LayoutInflater.from(parent.context)
.inflate(R.layout.item_micro_single_room_pk_boss, parent, false)
)
}
inner class SingleAnchorBossMicroViewHolder internal constructor(itemView: View) :
NormalMicroViewHolder(itemView) {
public override fun bind(info: RoomQueueInfo, position: Int) {
super.bind(info, position)
}
}
}

View File

@@ -9,6 +9,7 @@ import androidx.fragment.app.viewModels
import com.yizhuan.erban.R import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.adapter.OnMicroItemClickListener import com.yizhuan.erban.avroom.adapter.OnMicroItemClickListener
import com.yizhuan.erban.avroom.adapter.SingleAnchorMicroViewAdapter import com.yizhuan.erban.avroom.adapter.SingleAnchorMicroViewAdapter
import com.yizhuan.erban.avroom.adapter.SingleRoomPKMicroViewAdapter
import com.yizhuan.erban.avroom.dialog.RequestUpMicDialog import com.yizhuan.erban.avroom.dialog.RequestUpMicDialog
import com.yizhuan.erban.avroom.firstcharge.FirstChargePrizeDialog import com.yizhuan.erban.avroom.firstcharge.FirstChargePrizeDialog
import com.yizhuan.erban.avroom.presenter.SingleRoomPresenter import com.yizhuan.erban.avroom.presenter.SingleRoomPresenter
@@ -78,7 +79,7 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
override fun initiate() { override fun initiate() {
gameBinding.microView.bindAdapter(SingleAnchorMicroViewAdapter(context)) gameBinding.microView.bindAdapter(SingleRoomPKMicroViewAdapter(context))
super.initiate() super.initiate()
mvpPresenter?.getBannerList() mvpPresenter?.getBannerList()
initSpeedyMessage(gameBinding.flSpeedyMessage) initSpeedyMessage(gameBinding.flSpeedyMessage)

View File

@@ -12,32 +12,23 @@ import android.widget.FrameLayout
import android.widget.PopupWindow import android.widget.PopupWindow
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import com.netease.nim.uikit.common.util.sys.ScreenUtil import com.netease.nim.uikit.common.util.sys.ScreenUtil
import com.netease.nim.uikit.common.util.sys.TimeUtil import com.netease.nim.uikit.common.util.sys.TimeUtil
import com.yizhuan.erban.R import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.activity.AVRoomActivity import com.yizhuan.erban.avroom.adapter.SingleRoomPKMicroViewAdapter
import com.yizhuan.erban.common.widget.DragLayout
import com.yizhuan.erban.databinding.LayoutSingleRoomPkBoardViewBinding import com.yizhuan.erban.databinding.LayoutSingleRoomPkBoardViewBinding
import com.yizhuan.erban.ui.utils.ImageLoadUtils
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager import com.yizhuan.xchat_android_core.manager.AvRoomDataManager
import com.yizhuan.xchat_android_core.room.anotherroompk.ShowGiftDialogEvent
import com.yizhuan.xchat_android_core.room.anotherroompk.ShowUserInfoDialogEvent
import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils
import com.yizhuan.xchat_android_core.utils.subAndReplaceDot
import com.yizhuan.xchat_android_library.rxbus.RxBus
import com.yizhuan.xchat_android_library.utils.CommonUtils
import io.reactivex.Observable import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable import io.reactivex.disposables.Disposable
import java.util.*
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
class SingleRoomPKBoardView @JvmOverloads constructor( class SingleRoomPKBoardView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : DragLayout(context, attrs, defStyleAttr) { ) : FrameLayout(context, attrs, defStyleAttr) {
private val binding = LayoutSingleRoomPkBoardViewBinding.inflate(LayoutInflater.from(context)) private val binding = LayoutSingleRoomPkBoardViewBinding.inflate(LayoutInflater.from(context))
private val observer = Observer<RoomPkBean> { updateView(it) } private val observer = Observer<RoomPkBean> { updateView(it) }
@@ -46,30 +37,10 @@ class SingleRoomPKBoardView @JvmOverloads constructor(
private var roomPkBean: RoomPkBean? = null private var roomPkBean: RoomPkBean? = null
init { init {
addView(binding.root, LayoutParams(ScreenUtil.dip2px(339f), ScreenUtil.dip2px(233f))) addView(binding.root, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
//注意这里需要先改变Style,再订阅数据
binding.viewRankListCharmLeft.showCharmStyle()
binding.viewRankListCharmRight.showCharmStyle()
AvRoomDataManager.get().roomPkLiveData.observeForever(observer) AvRoomDataManager.get().roomPkLiveData.observeForever(observer)
binding.ivDetails.setOnClickListener {
if (CommonUtils.isFastDoubleClick(1000)) return@setOnClickListener /* binding.ivHelp.setOnClickListener { showHelpPopup() }
binding.groupRank.isVisible = !binding.groupRank.isVisible
if (binding.groupRank.isVisible) {
binding.clRoot.setBackgroundResource(R.drawable.bg_room_pk_board)
binding.clRoot.updateLayoutParams<FrameLayout.LayoutParams> {
width = ScreenUtil.dip2px(339f)
height = ScreenUtil.dip2px(233f)
}
} else {
binding.clRoot.setBackgroundResource(R.drawable.bg_room_pk_board_small)
binding.clRoot.updateLayoutParams<FrameLayout.LayoutParams> {
width = ScreenUtil.dip2px(339f)
height = ScreenUtil.dip2px(137f)
}
}
binding.ivDetails.animate().rotationBy(180f).start()
}
binding.ivHelp.setOnClickListener { showHelpPopup() }
binding.ivAvatarLeft.setOnClickListener { binding.ivAvatarLeft.setOnClickListener {
roomPkBean?.let { roomPkBean?.let {
@@ -81,17 +52,14 @@ class SingleRoomPKBoardView @JvmOverloads constructor(
roomPkBean?.let { roomPkBean?.let {
RxBus.get().post(ShowUserInfoDialogEvent(it.aUid.toString())) RxBus.get().post(ShowUserInfoDialogEvent(it.aUid.toString()))
} }
} }*/
binding.tvGoAnotherRoom.setOnClickListener { /* binding.tvGoAnotherRoom.setOnClickListener {
roomPkBean?.let { roomPkBean?.let {
AVRoomActivity.start(context, it.aUid) AVRoomActivity.start(context, it.aUid)
} }
} }*/
binding.tvSendGift.setOnClickListener {
RxBus.get().post(ShowGiftDialogEvent())
}
} }
@@ -104,24 +72,9 @@ class SingleRoomPKBoardView @JvmOverloads constructor(
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
private fun updateView(roomPkBean: RoomPkBean?) { private fun updateView(roomPkBean: RoomPkBean?) {
this.roomPkBean = roomPkBean this.roomPkBean = roomPkBean
binding.tvRoomNameLeft.text = roomPkBean?.cTitle.subAndReplaceDot(7)
ImageLoadUtils.loadImage(
context,
roomPkBean?.cAvatar,
binding.ivAvatarLeft,
R.drawable.default_avatar
)
binding.viewRankListCharmLeft.updateData(roomPkBean?.crRank)
binding.viewRankListContributeLeft.updateData(roomPkBean?.csRank) binding.viewRankListContributeLeft.updateData(roomPkBean?.csRank)
binding.tvRoomNameRight.text = roomPkBean?.aTitle.subAndReplaceDot(7)
ImageLoadUtils.loadImage(
context,
roomPkBean?.aAvatar,
binding.ivAvatarRight,
R.drawable.default_avatar
)
binding.viewRankListCharmRight.updateData(roomPkBean?.arRank)
binding.viewRankListContributeRight.updateData(roomPkBean?.asRank) binding.viewRankListContributeRight.updateData(roomPkBean?.asRank)
binding.pbScore.progress = ((roomPkBean?.cPercent ?: 0.5f) * 100).toInt() binding.pbScore.progress = ((roomPkBean?.cPercent ?: 0.5f) * 100).toInt()
@@ -159,7 +112,7 @@ class SingleRoomPKBoardView @JvmOverloads constructor(
try { try {
helpPopupWindow.showAsDropDown( helpPopupWindow.showAsDropDown(
binding.viewHelpAnchor, binding.tvTime,
0, 0,
0, 0,
Gravity.START or Gravity.BOTTOM Gravity.START or Gravity.BOTTOM

View File

@@ -16,7 +16,8 @@ class SingleRoomPKRankListView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : FrameLayout(context, attrs, defStyleAttr) { ) : FrameLayout(context, attrs, defStyleAttr) {
private val binding = LayoutSingleRoomPkRankListViewBinding.inflate(LayoutInflater.from(context)) private val binding =
LayoutSingleRoomPkRankListViewBinding.inflate(LayoutInflater.from(context))
private val tvValues = arrayOf(binding.tvValue1, binding.tvValue2, binding.tvValue3) private val tvValues = arrayOf(binding.tvValue1, binding.tvValue2, binding.tvValue3)
private val ivAvatars = arrayOf(binding.ivAvatar1, binding.ivAvatar2, binding.ivAvatar3) private val ivAvatars = arrayOf(binding.ivAvatar1, binding.ivAvatar2, binding.ivAvatar3)
private var defaultAvatarRes = R.drawable.bg_room_pk_rank_contribute_default private var defaultAvatarRes = R.drawable.bg_room_pk_rank_contribute_default
@@ -33,16 +34,10 @@ class SingleRoomPKRankListView @JvmOverloads constructor(
} }
fun showCharmStyle() { fun showCharmStyle() {
binding.tvValue1.setBackgroundResource(R.drawable.bg_room_pk_charm) binding.ivAvatar1.setImageResource(R.drawable.single_room_pk_bg_blue_mic)
binding.tvValue2.setBackgroundResource(R.drawable.bg_room_pk_charm) binding.ivAvatar2.setImageResource(R.drawable.single_room_pk_bg_blue_mic)
binding.tvValue3.setBackgroundResource(R.drawable.bg_room_pk_charm) binding.ivAvatar3.setImageResource(R.drawable.single_room_pk_bg_blue_mic)
binding.viewBg1.setBackgroundResource(R.drawable.bg_room_pk_rank_charm1) defaultAvatarRes = R.drawable.single_room_pk_bg_blue_mic
binding.viewBg2.setBackgroundResource(R.drawable.bg_room_pk_rank_charm2)
binding.viewBg3.setBackgroundResource(R.drawable.bg_room_pk_rank_charm2)
binding.ivAvatar1.setImageResource(R.drawable.bg_room_pk_rank_charm_default)
binding.ivAvatar2.setImageResource(R.drawable.bg_room_pk_rank_charm_default)
binding.ivAvatar3.setImageResource(R.drawable.bg_room_pk_rank_charm_default)
defaultAvatarRes = R.drawable.bg_room_pk_rank_charm_default
} }
fun updateData(data: List<RoomPkBean.RankBean>?) { fun updateData(data: List<RoomPkBean.RankBean>?) {

View File

@@ -35,9 +35,8 @@ class SingleRoomPKSearchActivity : BaseViewBindingActivity<ActivitySingleRoomPkS
private lateinit var rvDelegate: RVDelegate<SimpleRoomInfo> private lateinit var rvDelegate: RVDelegate<SimpleRoomInfo>
private var pageNum = 1 private var pageNum = 1
private val pageSize = 20 private val pageSize = 20
private val roomPKSearchAdapter = SingleRoomPKSearchAdapter() private lateinit var roomPKSearchAdapter: SingleRoomPKSearchAdapter
private var searchKey: String? = null private var searchKey: String? = null
private var currRoomInfo: SimpleRoomInfo? = null
override fun init() { override fun init() {
window.setLayout( window.setLayout(
@@ -45,7 +44,7 @@ class SingleRoomPKSearchActivity : BaseViewBindingActivity<ActivitySingleRoomPkS
WindowManager.LayoutParams.WRAP_CONTENT WindowManager.LayoutParams.WRAP_CONTENT
) )
window.setGravity(Gravity.BOTTOM) window.setGravity(Gravity.BOTTOM)
roomPKSearchAdapter = SingleRoomPKSearchAdapter()
rvDelegate = RVDelegate.Builder<SimpleRoomInfo>() rvDelegate = RVDelegate.Builder<SimpleRoomInfo>()
.setPageSize(pageSize) .setPageSize(pageSize)
.setEmptyView(EmptyViewHelper.createEmptyView(this, "暂无搜索内容")) .setEmptyView(EmptyViewHelper.createEmptyView(this, "暂无搜索内容"))
@@ -60,28 +59,15 @@ class SingleRoomPKSearchActivity : BaseViewBindingActivity<ActivitySingleRoomPkS
roomPKSearchAdapter.getItem(position)?.let { roomPKSearchAdapter.getItem(position)?.let {
when (view.id) { when (view.id) {
R.id.iv_avatar -> UserInfoActivity.Companion.start(this, it.roomUid) R.id.iv_avatar -> UserInfoActivity.Companion.start(this, it.roomUid)
R.id.check_box -> { R.id.tv_select -> {
val isChecked = (view as CheckBox).isChecked setResult(RESULT_OK, Intent().putExtra(KEY_ROOM_INFO, it))
roomPKSearchAdapter.data.forEach { roomInfo -> finish()
roomInfo.checked = it.roomUid == roomInfo.roomUid && isChecked
}
binding.tvOk.isEnabled = isChecked
currRoomInfo = if (isChecked) it else null
roomPKSearchAdapter.notifyDataSetChanged()
} }
} }
} }
} }
binding.ivBack.setOnClickListener { finish() } binding.ivBack.setOnClickListener { finish() }
binding.tvOk.setOnClickListener {
if (currRoomInfo == null) {
"请选择PK对象".toast()
return@setOnClickListener
}
setResult(RESULT_OK, Intent().putExtra(KEY_ROOM_INFO, currRoomInfo))
finish()
}
binding.ivSearch.setOnClickListener { binding.ivSearch.setOnClickListener {
searchKey = binding.editSearch.text?.toString() searchKey = binding.editSearch.text?.toString()
@@ -93,7 +79,12 @@ class SingleRoomPKSearchActivity : BaseViewBindingActivity<ActivitySingleRoomPkS
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
private fun loadData(isRefresh: Boolean) { private fun loadData(isRefresh: Boolean) {
pageNum = if (isRefresh) 1 else pageNum + 1 pageNum = if (isRefresh) 1 else pageNum + 1
SingleRoomPKModel.searchPermitRoom(searchKey, AvRoomDataManager.get().roomUid, pageNum, pageSize) SingleRoomPKModel.searchPermitRoom(
searchKey,
AvRoomDataManager.get().roomUid,
pageNum,
pageSize
)
.compose(bindToLifecycle()) .compose(bindToLifecycle())
.subscribe({ .subscribe({
rvDelegate.loadData(it, isRefresh) rvDelegate.loadData(it, isRefresh)

View File

@@ -13,8 +13,7 @@ class SingleRoomPKSearchAdapter :
override fun convert(helper: BaseViewHolder, item: SimpleRoomInfo) { override fun convert(helper: BaseViewHolder, item: SimpleRoomInfo) {
helper.setText(R.id.tv_room_title,item.title.subAndReplaceDot(7)) helper.setText(R.id.tv_room_title,item.title.subAndReplaceDot(7))
.setText(R.id.tv_room_id,"大鹅号:${item.erbanNo}") .setText(R.id.tv_room_id,"大鹅号:${item.erbanNo}")
.setChecked(R.id.check_box,item.checked)
ImageLoadUtils.loadImage(mContext,item.avatar,helper.getView(R.id.iv_avatar)) ImageLoadUtils.loadImage(mContext,item.avatar,helper.getView(R.id.iv_avatar))
helper.addOnClickListener(R.id.iv_avatar,R.id.check_box) helper.addOnClickListener(R.id.iv_avatar,R.id.tv_select)
} }
} }

View File

@@ -20,9 +20,6 @@ class RoomCommonAdapter : BaseQuickAdapter<HomeRoomInfo, BaseViewHolder>(R.layou
getView<ImageView>(R.id.iv_room_image).load(item.avatar) getView<ImageView>(R.id.iv_room_image).load(item.avatar)
setText(R.id.tv_online_number, "${item.onlineNum}") setText(R.id.tv_online_number, "${item.onlineNum}")
setText(R.id.tv_room_title, item.title) setText(R.id.tv_room_title, item.title)
itemView.setOnClickListener {
AVRoomActivity.start(mContext, item.roomUid)
}
setText(R.id.tv_id, "ID:${item.erbanNo}") setText(R.id.tv_id, "ID:${item.erbanNo}")
} }
helper.setVisible(R.id.tv_in_pk, item.isCrossPking) helper.setVisible(R.id.tv_in_pk, item.isCrossPking)

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定义轨道的背景 -->
<item android:id="@android:id/background">
<bitmap android:src="@drawable/single_room_pk_bg_pb_blue"/>
</item>
<!-- 定义轨道上已完成部分的样式 -->
<item android:id="@android:id/progress">
<bitmap android:src="@drawable/single_room_pk_bg_pb_red"/>
</item>
</layer-list>

View File

@@ -63,28 +63,6 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/edit_search" /> app:layout_constraintTop_toBottomOf="@id/edit_search" />
<View
android:layout_width="match_parent"
android:layout_height="83dp"
android:background="@drawable/bg_room_pk_bottom"
app:layout_constraintBottom_toBottomOf="parent" />
<TextView
android:id="@+id/tv_ok"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_marginTop="50dp"
android:layout_marginBottom="38dp"
android:background="@drawable/common_single_room_pk_btn_bg"
android:enabled="false"
android:gravity="center"
android:text="确认选择"
android:textColor="@color/white"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout> </FrameLayout>

View File

@@ -0,0 +1,145 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/micro_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:background="@color/color_activity_blue_bg">
<com.opensource.svgaplayer.SVGAImageView
android:id="@+id/iv_halo"
android:layout_width="135dp"
android:layout_height="135dp"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintEnd_toEndOf="@id/avatar"
app:layout_constraintStart_toStartOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar" />
<com.opensource.svgaplayer.SVGAImageView
android:id="@+id/svga_head_wear"
android:layout_width="135dp"
android:layout_height="135dp"
app:autoPlay="true"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintEnd_toEndOf="@id/avatar"
app:layout_constraintStart_toStartOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar"
app:loopCount="0"
app:source="svga/single_headware.svga" />
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/avatar"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginStart="40dp"
android:layout_marginTop="26dp"
android:layout_marginEnd="40dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/default_avatar"
tools:visibility="visible" />
<ImageView
android:id="@+id/up_image"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/icon_room_up_micro_boss"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintEnd_toEndOf="@id/avatar"
app:layout_constraintStart_toStartOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar"
tools:visibility="gone" />
<ImageView
android:id="@+id/lock_image"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/icon_room_lock_micro_boss"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintEnd_toEndOf="@id/avatar"
app:layout_constraintStart_toStartOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar"
tools:visibility="visible" />
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_bg_leave_mode"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/bg_leave_mode"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintEnd_toEndOf="@id/avatar"
app:layout_constraintStart_toStartOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar" />
<TextView
android:id="@+id/tv_label_leave_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="离开"
android:textColor="#E6FFFFFF"
android:textSize="16dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintEnd_toEndOf="@id/avatar"
app:layout_constraintStart_toStartOf="@id/avatar"
app:layout_constraintTop_toTopOf="@id/avatar" />
<ImageView
android:id="@+id/mute_image"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginEnd="6dp"
android:layout_marginBottom="6dp"
android:scaleType="fitCenter"
android:src="@drawable/icon_room_mute_micro"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@id/avatar"
app:layout_constraintEnd_toEndOf="@id/avatar"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/ll_nick"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="17dp"
android:gravity="center"
android:paddingStart="5dp"
android:paddingEnd="5dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/avatar">
<TextView
android:id="@+id/nick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="sans-serif"
android:gravity="center_vertical"
android:maxWidth="120dp"
android:maxLines="1"
android:singleLine="true"
android:text=""
android:textColor="@color/white"
android:textSize="14sp"
tools:text="我我是名" />
<ImageView
android:id="@+id/iv_attention"
android:layout_width="50dp"
android:layout_height="20dp"
android:layout_marginStart="4dp"
android:src="@drawable/single_room_pk_bg_attention" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -3,11 +3,11 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:gravity="center_vertical"> android:gravity="center_vertical"
android:paddingStart="15dp"
android:paddingEnd="15dp">
<com.yizhuan.erban.common.widget.CircleImageView <com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_avatar" android:id="@+id/iv_avatar"
@@ -43,10 +43,14 @@
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" /> android:layout_weight="1" />
<CheckBox <TextView
android:id="@+id/check_box" android:id="@+id/tv_select"
android:layout_width="22dp" android:layout_width="64dp"
android:layout_height="22dp" android:layout_height="24dp"
android:button="@drawable/selector_room_pk_search" /> android:background="@drawable/common_single_room_pk_btn_bg"
android:gravity="center"
android:includeFontPadding="false"
android:text="选择"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout> </LinearLayout>

View File

@@ -4,5 +4,7 @@
android:id="@+id/recycler_view" android:id="@+id/recycler_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:listitem="@layout/item_micro_single_room_pk_boss"
tools:itemCount="1"
android:overScrollMode="never" /> android:overScrollMode="never" />

View File

@@ -1,31 +1,141 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="339dp" android:layout_width="match_parent"
android:layout_height="233dp"> android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="#2196F3">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_root" android:id="@+id/cl_micro_view"
android:layout_width="339dp" android:layout_width="match_parent"
android:layout_height="233dp" android:layout_height="wrap_content"
android:background="@drawable/bg_room_pk_board" app:layout_constraintEnd_toEndOf="parent"
android:orientation="horizontal" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_vs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="21dp"
android:src="@drawable/single_room_pk_ic_vs"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/iv_rule"
android:layout_width="46dp"
android:layout_height="18dp"
android:layout_marginTop="6dp"
android:background="@drawable/single_room_pk_bg_rule"
android:gravity="center"
android:includeFontPadding="false"
android:text="规则"
android:textColor="@color/white"
android:textSize="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_vs" />
<com.opensource.svgaplayer.SVGAImageView
android:id="@+id/svga_head_wear_blue"
android:layout_width="135dp"
android:layout_height="135dp"
app:autoPlay="true"
app:layout_constraintBottom_toBottomOf="@id/iv_blue_avatar"
app:layout_constraintEnd_toEndOf="@id/iv_blue_avatar"
app:layout_constraintStart_toStartOf="@id/iv_blue_avatar"
app:layout_constraintTop_toTopOf="@id/iv_blue_avatar"
app:loopCount="0"
app:source="svga/single_headware.svga" />
<ImageView
android:id="@+id/iv_blue_avatar"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_marginTop="26dp"
android:layout_marginEnd="40dp"
android:src="@drawable/default_avatar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_blue_nickname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="17dp"
android:text="房主的昵称房..."
android:textColor="@color/white"
android:textSize="14sp"
app:layout_constraintEnd_toStartOf="@id/iv_find_him"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="@id/iv_blue_avatar"
app:layout_constraintTop_toBottomOf="@id/iv_blue_avatar" />
<ImageView
android:id="@+id/iv_find_him"
android:layout_width="50dp"
android:layout_height="20dp"
android:layout_marginStart="4dp"
android:src="@drawable/single_room_pk_bg_find_him"
app:layout_constraintBottom_toBottomOf="@id/tv_blue_nickname"
app:layout_constraintEnd_toEndOf="@id/iv_blue_avatar"
app:layout_constraintStart_toEndOf="@id/tv_blue_nickname"
app:layout_constraintTop_toTopOf="@id/tv_blue_nickname" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_pk_board"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_micro_view"
tools:contentDescription="PK记分板"> tools:contentDescription="PK记分板">
<View
android:id="@+id/bg_pk_board"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="45dp"
android:layout_marginEnd="45dp"
android:background="@drawable/single_room_pk_bg_board"
app:layout_constraintDimensionRatio="568:168"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_pk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="PK"
android:textColor="@color/white"
android:textSize="14dp"
app:layout_constraintEnd_toStartOf="@id/tv_time"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/tv_time" android:id="@+id/tv_time"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="6dp" android:layout_marginStart="4dp"
android:includeFontPadding="false" android:fontFamily="sans-serif"
android:text="00:00" android:text="00:00:00"
android:textColor="#fffff600" android:textColor="@color/white"
android:textSize="16dp" android:textSize="12dp"
app:layout_constraintBaseline_toBaselineOf="@id/tv_pk"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.69" app:layout_constraintStart_toEndOf="@id/tv_pk" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/tv_end_hint" android:id="@+id/tv_end_hint"
@@ -42,115 +152,40 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view_help_anchor"
android:layout_width="1dp"
android:layout_height="1dp"
android:layout_marginStart="72dp"
android:layout_marginTop="33dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_help"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:src="@drawable/ic_room_pk_board_help"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.45"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_room_name_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="40dp"
android:textColor="@color/white"
android:textSize="14dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="厅的名字七个字" />
<TextView
android:id="@+id/tv_room_name_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:layout_marginEnd="12dp"
android:textColor="@color/white"
android:textSize="14dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="厅的名字七个字" />
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_avatar_left"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="30dp"
android:layout_marginTop="10dp"
android:src="@drawable/default_avatar"
app:cborder_color="#FFFF4D73"
app:cborder_width="1dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_room_name_left" />
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_avatar_right"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="30dp"
android:src="@drawable/default_avatar"
app:cborder_color="#FF45C0FF"
app:cborder_width="1dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_room_name_right" />
<TextView
android:id="@+id/tv_send_gift"
android:layout_width="50dp"
android:layout_height="18dp"
android:layout_marginStart="8dp"
android:background="@drawable/bg_room_pk_send_gift"
android:gravity="center"
android:includeFontPadding="false"
android:text="助攻"
android:textColor="#ffffffff"
android:textSize="12dp"
app:layout_constraintStart_toEndOf="@id/iv_avatar_left"
app:layout_constraintTop_toTopOf="@id/iv_avatar_left" />
<TextView
android:id="@+id/tv_go_another_room"
android:layout_width="50dp"
android:layout_height="18dp"
android:layout_marginEnd="8dp"
android:background="@drawable/bg_room_pk_go_another_room"
android:gravity="center"
android:includeFontPadding="false"
android:text="去围观"
android:textColor="#ffffffff"
android:textSize="12dp"
app:layout_constraintEnd_toStartOf="@id/iv_avatar_right"
app:layout_constraintTop_toTopOf="@id/iv_avatar_right" />
<ProgressBar <ProgressBar
android:id="@+id/pb_score" android:id="@+id/pb_score"
style="?android:attr/progressBarStyleHorizontal" style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="12dp" android:layout_height="16dp"
android:layout_marginStart="8dp" android:layout_marginStart="35dp"
android:layout_marginEnd="8dp" android:layout_marginTop="21dp"
android:layout_marginEnd="35dp"
android:max="100" android:max="100"
android:progress="50" android:progress="50"
android:progressDrawable="@drawable/bg_room_pk_board_pb" android:progressDrawable="@drawable/single_room_pk_bg_board_pb"
app:layout_constraintBottom_toBottomOf="@id/iv_avatar_left" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_avatar_right" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_avatar_left" /> app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_red_star"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_marginStart="15dp"
android:src="@drawable/single_room_pk_ic_red_star"
app:layout_constraintBottom_toBottomOf="@id/pb_score"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/pb_score" />
<ImageView
android:id="@+id/iv_blue_star"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_marginEnd="15dp"
android:src="@drawable/single_room_pk_ic_blue_star"
app:layout_constraintBottom_toBottomOf="@id/pb_score"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/pb_score" />
<com.opensource.svgaplayer.SVGAImageView <com.opensource.svgaplayer.SVGAImageView
android:id="@+id/svga_hot" android:id="@+id/svga_hot"
@@ -158,17 +193,17 @@
android:layout_height="27dp" android:layout_height="27dp"
android:layout_marginBottom="18dp" android:layout_marginBottom="18dp"
app:autoPlay="true" app:autoPlay="true"
app:layout_constraintBottom_toBottomOf="@id/iv_details" app:layout_constraintBottom_toBottomOf="@id/pb_score"
app:layout_constraintEnd_toStartOf="@id/iv_avatar_right" app:layout_constraintEnd_toStartOf="@id/iv_blue_star"
app:layout_constraintHorizontal_bias="0" app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toEndOf="@id/iv_avatar_left" app:layout_constraintStart_toEndOf="@id/iv_red_star"
app:source="svga/room_pk_pb_indicator.svga" /> app:source="svga/room_pk_pb_indicator.svga" />
<TextView <TextView
android:id="@+id/tv_score_left" android:id="@+id/tv_score_left"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="5dp" android:layout_marginStart="15dp"
android:fontFamily="sans-serif" android:fontFamily="sans-serif"
android:includeFontPadding="false" android:includeFontPadding="false"
android:textColor="@color/white" android:textColor="@color/white"
@@ -182,7 +217,7 @@
android:id="@+id/tv_score_right" android:id="@+id/tv_score_right"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="5dp" android:layout_marginEnd="15dp"
android:fontFamily="sans-serif" android:fontFamily="sans-serif"
android:includeFontPadding="false" android:includeFontPadding="false"
android:textColor="@color/white" android:textColor="@color/white"
@@ -192,92 +227,24 @@
app:layout_constraintTop_toTopOf="@id/pb_score" app:layout_constraintTop_toTopOf="@id/pb_score"
tools:text="123456" /> tools:text="123456" />
<com.yizhuan.erban.avroom.singleroompk.SingleRoomPKRankListView
<ImageView
android:id="@+id/iv_details"
android:layout_width="30dp"
android:layout_height="20dp"
android:scaleType="center"
android:src="@drawable/ic_room_pk_top"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/pb_score" />
<TextView
android:id="@+id/tv_contribute_title"
android:layout_width="53dp"
android:layout_height="22dp"
android:layout_marginTop="10dp"
android:background="@drawable/bg_room_pk_contribute_text"
android:gravity="center"
android:includeFontPadding="false"
android:text="神豪"
android:textColor="@color/white"
android:textSize="14dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_details" />
<TextView
android:id="@+id/tv_charm_title"
android:layout_width="53dp"
android:layout_height="22dp"
android:layout_marginTop="24dp"
android:background="@drawable/bg_room_pk_charm_text"
android:gravity="center"
android:includeFontPadding="false"
android:text="魅力"
android:textColor="@color/white"
android:textSize="14dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_contribute_title" />
<com.yizhuan.erban.avroom.anotherroompk.RoomPKRankListView
android:id="@+id/view_rank_list_contribute_left" android:id="@+id/view_rank_list_contribute_left"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@id/tv_contribute_title" android:layout_marginStart="12dp"
app:layout_constraintEnd_toStartOf="@id/tv_contribute_title" android:layout_marginBottom="3dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_contribute_title" /> app:layout_constraintStart_toStartOf="@id/bg_pk_board" />
<com.yizhuan.erban.avroom.anotherroompk.RoomPKRankListView <com.yizhuan.erban.avroom.singleroompk.SingleRoomPKRankListView
android:id="@+id/view_rank_list_charm_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@id/tv_charm_title"
app:layout_constraintEnd_toStartOf="@id/tv_charm_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_charm_title" />
<com.yizhuan.erban.avroom.anotherroompk.RoomPKRankListView
android:id="@+id/view_rank_list_contribute_right" android:id="@+id/view_rank_list_contribute_right"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@id/tv_contribute_title" android:layout_marginEnd="12dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginBottom="3dp"
app:layout_constraintStart_toEndOf="@id/tv_contribute_title" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_contribute_title" /> app:layout_constraintEnd_toEndOf="@id/bg_pk_board" />
<com.yizhuan.erban.avroom.anotherroompk.RoomPKRankListView
android:id="@+id/view_rank_list_charm_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@id/tv_charm_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_charm_title"
app:layout_constraintTop_toTopOf="@id/tv_charm_title" />
<androidx.constraintlayout.widget.Group
android:id="@+id/group_rank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="view_rank_list_charm_right,view_rank_list_contribute_right,view_rank_list_charm_left,view_rank_list_contribute_left,tv_charm_title,tv_contribute_title" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout> </LinearLayout>

View File

@@ -9,30 +9,30 @@
<FrameLayout <FrameLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_gravity="bottom">
<com.yizhuan.erban.common.widget.CircleImageView <com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_avatar_1" android:id="@+id/iv_avatar_1"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="32dp" android:layout_height="24dp"
android:layout_gravity="bottom"
android:layout_marginBottom="2dp" android:layout_marginBottom="2dp"
android:src="@drawable/bg_room_pk_rank_contribute_default" /> android:src="@drawable/single_room_pk_bg_red_mic" />
<View <View
android:id="@+id/view_bg_1" android:id="@+id/view_bg_1"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="38dp" android:layout_height="11dp"
android:layout_gravity="bottom" android:layout_marginTop="13dp"
android:layout_marginBottom="2dp" android:background="@drawable/single_room_pk_bg_mvp"
android:background="@drawable/bg_room_pk_rank_contribute1" /> android:visibility="gone" />
<TextView <TextView
android:id="@+id/tv_value_1" android:id="@+id/tv_value_1"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="10dp" android:layout_height="10dp"
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:background="@drawable/bg_room_pk_contribute" android:layout_marginTop="28dp"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:textColor="@color/white" android:textColor="@color/white"
@@ -49,24 +49,25 @@
<com.yizhuan.erban.common.widget.CircleImageView <com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_avatar_2" android:id="@+id/iv_avatar_2"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="32dp" android:layout_height="24dp"
android:layout_marginBottom="2dp" android:layout_marginBottom="2dp"
android:src="@drawable/bg_room_pk_rank_contribute_default" /> android:src="@drawable/single_room_pk_bg_red_mic" />
<View <View
android:id="@+id/view_bg_2" android:id="@+id/view_bg_2"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="32dp" android:layout_height="11dp"
android:layout_marginBottom="2dp" android:layout_marginTop="13dp"
android:background="@drawable/bg_room_pk_rank_contribute2" /> android:background="@drawable/single_room_pk_bg_mvp"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/tv_value_2" android:id="@+id/tv_value_2"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="10dp" android:layout_height="10dp"
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:background="@drawable/bg_room_pk_contribute" android:layout_marginTop="28dp"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:textColor="@color/white" android:textColor="@color/white"
@@ -83,24 +84,24 @@
<com.yizhuan.erban.common.widget.CircleImageView <com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_avatar_3" android:id="@+id/iv_avatar_3"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="32dp" android:layout_height="24dp"
android:layout_marginBottom="2dp" android:layout_marginBottom="2dp"
android:src="@drawable/bg_room_pk_rank_contribute_default" /> android:src="@drawable/single_room_pk_bg_red_mic" />
<View <View
android:id="@+id/view_bg_3" android:id="@+id/view_bg_3"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="32dp" android:layout_height="11dp"
android:layout_marginBottom="2dp" android:layout_marginTop="13dp"
android:background="@drawable/bg_room_pk_rank_contribute2" /> android:background="@drawable/single_room_pk_bg_mvp" />
<TextView <TextView
android:id="@+id/tv_value_3" android:id="@+id/tv_value_3"
android:layout_width="32dp" android:layout_width="24dp"
android:layout_height="10dp" android:layout_height="10dp"
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:background="@drawable/bg_room_pk_contribute" android:layout_marginTop="28dp"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:textColor="@color/white" android:textColor="@color/white"

View File

@@ -20,9 +20,15 @@
android:id="@+id/micro_view" android:id="@+id/micro_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="79dp" android:layout_marginTop="140dp"
tools:background="@color/color_red" /> tools:background="@color/color_red" />
<com.yizhuan.erban.avroom.singleroompk.SingleRoomPKBoardView
android:id="@+id/view_pk_board"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/micro_view" />
<LinearLayout <LinearLayout
android:id="@+id/contribute_list" android:id="@+id/contribute_list"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -194,7 +200,7 @@
android:id="@+id/vip_broadcast_view" android:id="@+id/vip_broadcast_view"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/micro_view" android:layout_below="@id/view_pk_board"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:visibility="gone" /> android:visibility="gone" />
@@ -203,7 +209,7 @@
android:id="@+id/activity_img" android:id="@+id/activity_img"
android:layout_width="65dp" android:layout_width="65dp"
android:layout_height="75dp" android:layout_height="75dp"
android:layout_below="@id/micro_view" android:layout_below="@id/view_pk_board"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginEnd="15dp" android:layout_marginEnd="15dp"

View File

@@ -1213,28 +1213,34 @@ public final class IMNetEaseManager {
} }
switch (second) { switch (second) {
case CUSTOM_MSG_SUB_ROOM_PK_INVITE: case CUSTOM_MSG_SUB_ROOM_PK_INVITE:
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_INVITE:
if ((AvRoomDataManager.get().isRoomOwner() || AvRoomDataManager.get().isSuperAdmin()) && if ((AvRoomDataManager.get().isRoomOwner() || AvRoomDataManager.get().isSuperAdmin()) &&
!AvRoomDataManager.get().isOpenAnotherPKMode()) { !AvRoomDataManager.get().isOpenAnotherPKMode()) {
noticeRoomEvent(msg, RoomEvent.ROOM_PK_INVITE); noticeRoomEvent(msg, RoomEvent.ROOM_PK_INVITE);
} }
break; break;
case CUSTOM_MSG_SUB_ROOM_PK_ACCEPT: case CUSTOM_MSG_SUB_ROOM_PK_ACCEPT:
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_ACCEPT:
noticeRoomEvent(msg, RoomEvent.ROOM_PK_ACCEPT); noticeRoomEvent(msg, RoomEvent.ROOM_PK_ACCEPT);
break; break;
case CUSTOM_MSG_SUB_ROOM_PK_REFUSE: case CUSTOM_MSG_SUB_ROOM_PK_REFUSE:
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_REFUSE:
if (roomPkBean.getInviteUid() == AuthModel.get().getCurrentUid()) { if (roomPkBean.getInviteUid() == AuthModel.get().getCurrentUid()) {
noticeRoomEvent(msg, RoomEvent.ROOM_PK_REFUSE); noticeRoomEvent(msg, RoomEvent.ROOM_PK_REFUSE);
SingleToastUtil.showToast(roomPkBean.getMsg()); SingleToastUtil.showToast(roomPkBean.getMsg());
} }
break; break;
case CUSTOM_MSG_SUB_ROOM_PK_UPDATE: case CUSTOM_MSG_SUB_ROOM_PK_UPDATE:
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_UPDATE:
AvRoomDataManager.get().roomPkLiveData.postValue(roomPkBean); AvRoomDataManager.get().roomPkLiveData.postValue(roomPkBean);
break; break;
case CUSTOM_MSG_SUB_ROOM_PK_FINISH: case CUSTOM_MSG_SUB_ROOM_PK_FINISH:
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_FINISH:
noticeRoomEvent(msg, RoomEvent.ROOM_PK_FINISH); noticeRoomEvent(msg, RoomEvent.ROOM_PK_FINISH);
AvRoomDataManager.get().roomPkLiveData.postValue(null); AvRoomDataManager.get().roomPkLiveData.postValue(null);
break; break;
case CUSTOM_MSG_SUB_ROOM_PK_NOTIFY: case CUSTOM_MSG_SUB_ROOM_PK_NOTIFY:
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_NOTIFY:
noticeRoomEvent(msg, RoomEvent.ROOM_PK_NOTIFY); noticeRoomEvent(msg, RoomEvent.ROOM_PK_NOTIFY);
break; break;
} }

View File

@@ -410,6 +410,13 @@ public class CustomAttachment implements MsgAttachment {
public static final int CUSTOM_MSG_SUB_ROOM_PK_FINISH = 835; public static final int CUSTOM_MSG_SUB_ROOM_PK_FINISH = 835;
public static final int CUSTOM_MSG_SUB_ROOM_PK_NOTIFY = 836; public static final int CUSTOM_MSG_SUB_ROOM_PK_NOTIFY = 836;
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_INVITE = 837;// 个播pk发出邀请
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_REFUSE = 838;// 个播pk拒绝邀请
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_ACCEPT = 839;// 个播pk接受邀请
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_UPDATE = 8310;// 个播pk面板更新消息
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_FINISH = 8311;// 个播pk结束通知
public static final int CUSTOM_MSG_SUB_SINGLE_ROOM_PK_NOTIFY = 8312;// 个播pk结束触发的飘屏通知
/** /**
* 贵族 * 贵族
*/ */

View File

@@ -79,6 +79,13 @@ public class RoomPkBean implements Serializable {
//另一方魅力榜前三 //另一方魅力榜前三
private List<RankBean> arRank; private List<RankBean> arRank;
//<-------------个播PK新增start--------------->
//pk进行状态(1pk中 2惩罚中)
private int pkState;
//惩罚时间结束时间戳
private Long penaltyEndTime;
//<-------------个播PK新增end--------------->
/** /**
* 通知相关字段 * 通知相关字段
*/ */

View File

@@ -7,5 +7,6 @@ data class SimpleRoomInfo(
val roomUid :Long = 0L, val roomUid :Long = 0L,
val erbanNo :Long = 0L, val erbanNo :Long = 0L,
val avatar :String? = null, val avatar :String? = null,
val crossPking:Boolean = false,
var checked :Boolean = false var checked :Boolean = false
) : Serializable ) : Serializable

View File

@@ -129,7 +129,7 @@ object SingleRoomPKModel {
* *
* @return * @return
*/ */
@GET("/search/permitRoom") @GET("/search/singleRoom")
fun searchPermitRoom( fun searchPermitRoom(
@Query("erbanNo") erbanNo: String?, @Query("erbanNo") erbanNo: String?,
@Query("roomUid") roomUid: Long?, @Query("roomUid") roomUid: Long?,