新用户打招呼弹窗UI修改
This commit is contained in:
@@ -484,7 +484,7 @@ public class BaseRoomPresenter<V extends IBaseRoomView> extends BaseMvpPresenter
|
||||
.takeWhile(aBoolean -> !aBoolean && getMvpView() != null)
|
||||
.doOnNext(aBoolean -> getMvpView().noFollow())
|
||||
//个人主播房新加的关注提醒弹窗,以后还会不会有呢???
|
||||
.takeWhile(aBoolean -> AvRoomDataManager.get().isSingleRoom())
|
||||
.takeWhile(aBoolean -> !AvRoomDataManager.get().isSingleRoom())
|
||||
.delay(4, TimeUnit.MINUTES)
|
||||
.single(false)
|
||||
.flatMap(aBoolean -> PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), uid))
|
||||
|
@@ -2,13 +2,21 @@ package com.mango.moshen.home.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.view.WindowManager
|
||||
import com.mango.moshen.avroom.activity.AVRoomActivity
|
||||
import com.mango.moshen.base.BaseDialog
|
||||
import com.mango.moshen.databinding.DialogNewUserHelloBinding
|
||||
import com.mango.moshen.ui.utils.load
|
||||
import com.mango.core.channel_page.bean.NewUserHelloInfo
|
||||
import com.mango.core.statistic.StatisticManager
|
||||
import com.mango.core.statistic.protocol.StatisticsProtocol
|
||||
import com.mango.core.utils.subAndReplaceDot
|
||||
import com.mango.moshen.R
|
||||
import com.mango.moshen.audio.helper.AudioPlayerHelper
|
||||
import com.mango.moshen.audio.helper.OnPlayListener
|
||||
import com.mango.xchat_android_library.utils.ListUtils
|
||||
import com.mango.xchat_android_library.utils.SingleToastUtil
|
||||
|
||||
class NewUserHelloDialog : BaseDialog<DialogNewUserHelloBinding>() {
|
||||
|
||||
@@ -25,7 +33,8 @@ class NewUserHelloDialog : BaseDialog<DialogNewUserHelloBinding>() {
|
||||
}
|
||||
|
||||
override var width: Int = WindowManager.LayoutParams.MATCH_PARENT
|
||||
override var dimAmount: Float = 0.8f
|
||||
override var dimAmount: Float = 0.3f
|
||||
private var audioPlaying = false
|
||||
|
||||
private val newUserHelloInfo: NewUserHelloInfo by lazy {
|
||||
requireArguments().getSerializable("newUserHelloInfo") as NewUserHelloInfo
|
||||
@@ -33,13 +42,10 @@ class NewUserHelloDialog : BaseDialog<DialogNewUserHelloBinding>() {
|
||||
|
||||
@SuppressLint("CheckResult", "SetTextI18n")
|
||||
override fun init() {
|
||||
binding.ivClose.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
binding.ivAvatar.load(newUserHelloInfo.sayHelloUserAvatar)
|
||||
binding.tvId.text = "ID:${newUserHelloInfo.sayHelloUserErbanNo}"
|
||||
binding.tvNick.text = newUserHelloInfo.sayHelloUserNickname.subAndReplaceDot(8)
|
||||
binding.tvGoRoom.setOnClickListener {
|
||||
binding.tvContent.text = newUserHelloInfo.sayHelloMsg
|
||||
binding.ivGoRoom.setOnClickListener {
|
||||
AVRoomActivity.startForFromType(
|
||||
requireContext(),
|
||||
newUserHelloInfo.roomUid,
|
||||
@@ -49,6 +55,52 @@ class NewUserHelloDialog : BaseDialog<DialogNewUserHelloBinding>() {
|
||||
)
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
binding.llAudio.setOnClickListener { toggleAudio(newUserHelloInfo.voiceCard?.propVals) }
|
||||
}
|
||||
|
||||
private fun toggleAudio(list: List<String>?) {
|
||||
if (list.isNullOrEmpty()) return
|
||||
val url: String? = list.findLast { it == "http" }
|
||||
if (TextUtils.isEmpty(url)) return
|
||||
if (!audioPlaying) {
|
||||
playAudio(url)
|
||||
} else {
|
||||
stopAudio()
|
||||
}
|
||||
}
|
||||
|
||||
private fun playAudio(url: String?) {
|
||||
if (audioPlaying) return
|
||||
audioPlaying = true
|
||||
binding.ivAudioControl.setImageResource(R.drawable.ic_skill_play)
|
||||
AudioPlayerHelper.get().playInThread(url, object : OnPlayListener {
|
||||
override fun onError(error: String) {
|
||||
SingleToastUtil.showToast("播放出错,请重试")
|
||||
stopAudio()
|
||||
}
|
||||
|
||||
override fun onPrepared() {}
|
||||
override fun onPlaying(currDuration: Long) {}
|
||||
override fun onCompletion() {
|
||||
stopAudio()
|
||||
}
|
||||
})
|
||||
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_PERSONALSHOW_TOP_CARD_VOICE_CLICK, "个播展示卡片播放语音点击")
|
||||
}
|
||||
|
||||
private fun stopAudio() {
|
||||
if (!audioPlaying) return
|
||||
audioPlaying = false
|
||||
binding.ivAudioControl.setImageResource(R.drawable.ic_skill_pause)
|
||||
AudioPlayerHelper.get().endPlay()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
stopAudio()
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 29 KiB |
BIN
app/src/main/res/drawable-xhdpi/new_user_hello_bg_title.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/new_user_hello_bg_title.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/drawable-xhdpi/new_user_hello_voice.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/new_user_hello_voice.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 819 B |
26
app/src/main/res/drawable/shape_new_user_avatar_bg.xml
Normal file
26
app/src/main/res/drawable/shape_new_user_avatar_bg.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#80ffffff" />
|
||||
<corners android:radius="24dp" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<item
|
||||
android:bottom="5dp"
|
||||
android:left="5dp"
|
||||
android:right="5dp"
|
||||
android:top="5dp">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#3BE4FF"
|
||||
android:startColor="#7BFFD9" />
|
||||
|
||||
<corners android:radius="20dp" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
</layer-list>
|
11
app/src/main/res/drawable/shape_new_user_voice_bg.xml
Normal file
11
app/src/main/res/drawable/shape_new_user_voice_bg.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#F3F4ED"
|
||||
android:startColor="#DFF8FC"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners android:radius="20dp" />
|
||||
</shape>
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<FrameLayout 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"
|
||||
@@ -14,84 +13,107 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_close"
|
||||
android:id="@+id/iv_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="52dp"
|
||||
android:src="@drawable/new_user_hello_ic_close" />
|
||||
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/new_user_hello_bg_title" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="253dp"
|
||||
android:layout_height="220dp"
|
||||
android:layout_width="250dp"
|
||||
android:layout_height="290dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="32dp">
|
||||
android:layout_marginTop="6dp"
|
||||
android:background="@drawable/shape_new_user_avatar_bg">
|
||||
|
||||
<com.mango.moshen.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="150dp"
|
||||
android:layout_gravity="center_horizontal|bottom"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_width="232dp"
|
||||
android:layout_height="272dp"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_cover"
|
||||
app:cborder_color="@color/white"
|
||||
app:cborder_width="2dp" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/new_user_hello_bg_avatar" />
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_audio"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="21dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="17dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:background="@drawable/shape_new_user_voice_bg"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
</FrameLayout>
|
||||
<ImageView
|
||||
android:id="@+id/iv_audio_control"
|
||||
android:layout_width="@dimen/dp_14"
|
||||
android:layout_height="@dimen/dp_14"
|
||||
android:src="@drawable/ic_skill_pause" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/liv_user"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_marginStart="2dp"
|
||||
android:background="@color/transparent"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/new_user_hello_voice" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginStart="9dp"
|
||||
android:layout_marginEnd="9dp"
|
||||
android:layout_marginBottom="9dp"
|
||||
android:background="@drawable/bg_single_anchor_more_bottom"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_nick"
|
||||
android:layout_width="165dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:background="@drawable/new_user_hello_bg_nick"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
tools:text="魔力可可鸭魔力可..." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_id"
|
||||
android:id="@+id/tv_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:maxLines="2"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:text="欢迎来到魔力,Ta已经等待你很久啦,快来一起玩吧~"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
tools:text="ID:123456" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/new_user_hello_bg_content"
|
||||
android:gravity="center"
|
||||
android:text="欢迎来到魔力,Ta已经等待你很\n久啦,快来一起玩吧~"
|
||||
android:textColor="#ffa00bbb"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_go_room"
|
||||
android:layout_width="240dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="35dp"
|
||||
android:includeFontPadding="false"
|
||||
android:background="@drawable/new_user_hello_bg_go_room"
|
||||
android:gravity="center"
|
||||
android:text="开启浪漫之旅"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="20sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_go_room"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="28dp"
|
||||
android:src="@drawable/new_user_hello_bg_go_room" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package com.mango.core.user.bean
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
/**
|
||||
* {
|
||||
"code": 0,
|
||||
@@ -23,4 +25,4 @@ data class UserInfoSkillEntity(
|
||||
val id: Int,
|
||||
val name: String,
|
||||
val propVals: List<String>
|
||||
)
|
||||
) : Serializable
|
@@ -1,5 +1,6 @@
|
||||
package com.mango.core.channel_page.bean
|
||||
|
||||
import com.mango.core.user.bean.UserInfoSkillEntity
|
||||
import java.io.Serializable
|
||||
|
||||
data class NewUserHelloInfo(
|
||||
@@ -9,5 +10,6 @@ data class NewUserHelloInfo(
|
||||
val sayHelloUserUid: Long = 0L,
|
||||
val sayHelloUserAvatar: String = "",
|
||||
val sayHelloUserErbanNo: Int = 0,
|
||||
val sayHelloUserNickname: String = ""
|
||||
val sayHelloUserNickname: String = "",
|
||||
val voiceCard: UserInfoSkillEntity? = null
|
||||
) : Serializable
|
Reference in New Issue
Block a user