Commit b90ec82e by 霍志良

Merge branch 'feat/zl/confide2' into 'd/v_confide_2.0'

UI修改

See merge request app_android_lib/YDL-Component!33
parents 1cae80b1 b6b0ab62
...@@ -6,31 +6,63 @@ import android.app.Dialog ...@@ -6,31 +6,63 @@ import android.app.Dialog
import android.os.Bundle import android.os.Bundle
import android.view.* import android.view.*
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.TextView
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import com.blankj.utilcode.util.LogUtils
import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.tencent.smtt.sdk.WebSettings import com.tencent.smtt.sdk.WebSettings
import com.ydl.confide.R import com.ydl.confide.R
import com.ydl.confide.home.http.ConfideHomeApi
import com.ydl.utils.WebUrlParamsUtils
import com.ydl.webview.ProgressWebView import com.ydl.webview.ProgressWebView
import com.ydl.webview.TellData import com.ydl.webview.TellData
import com.ydl.webview.WebModularServiceUtils import com.ydl.webview.WebModularServiceUtils
import com.ydl.ydlcommon.base.BaseActivity import com.ydl.ydlcommon.base.BaseActivity
import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.utils.TimeUtil
import com.ydl.ydlnet.YDLHttpUtils
import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.RxImageTool import com.yidianling.common.tools.RxImageTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.api.service.IUserService
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.item_expert_intro.*
class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
companion object { companion object {
private const val KEY_JUMP_URL = "jumpUrl" private const val KEY_JUMP_URL = "jumpUrl"
private const val KEY_DOCTOR_ID = "doctor_id"
private const val KEY_SHOULD_SHOW = "should_show"
} }
lateinit var wv_content:ProgressWebView;
lateinit var text_title:View; lateinit var wv_content: ProgressWebView
lateinit var line:View; lateinit var text_title: View
lateinit var rl_title:View; lateinit var line: View
lateinit var close_webview_Icon:View lateinit var rl_title: View
lateinit var jumpUrl:String lateinit var close_webview_Icon: View
fun showBottomSheetDialog(activity: FragmentActivity,jumpUrl:String) { lateinit var layoutCall: View
lateinit var layoutChange: View
lateinit var tvCall: TextView
lateinit var tvTime: TextView
lateinit var first_order: View
lateinit var jumpUrl: String
lateinit var doctorId: String
var shouldShow: Boolean? = false
fun showBottomSheetDialog(
activity: FragmentActivity,
jumpUrl: String,
doctorId: String,
shouldShow: Boolean? = false
) {
arguments = Bundle().apply { arguments = Bundle().apply {
putString(KEY_JUMP_URL, jumpUrl) putString(KEY_JUMP_URL, jumpUrl)
putString(KEY_DOCTOR_ID, doctorId)
shouldShow?.let { putBoolean(KEY_SHOULD_SHOW, it) }
} }
show(activity.supportFragmentManager, "confide_bottom_showdialog") show(activity.supportFragmentManager, "confide_bottom_showdialog")
} }
...@@ -38,8 +70,7 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -38,8 +70,7 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
@SuppressLint("WrongConstant") @SuppressLint("WrongConstant")
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setStyle(STYLE_NORMAL,R.style.AppBottomSheet) setStyle(STYLE_NORMAL, R.style.AppBottomSheet)
} }
override fun onCreateView( override fun onCreateView(
...@@ -49,9 +80,13 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -49,9 +80,13 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
): View? { ): View? {
return inflater.inflate(R.layout.confide_webview, container, false) return inflater.inflate(R.layout.confide_webview, container, false)
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
jumpUrl = arguments?.getString(KEY_JUMP_URL) ?: "" jumpUrl = arguments?.getString(KEY_JUMP_URL) ?: ""
doctorId = arguments?.getString(KEY_DOCTOR_ID) ?: ""
shouldShow = arguments?.getBoolean(KEY_SHOULD_SHOW) ?: false
onLoadDialStatus()
if (jumpUrl.isBlank()) { if (jumpUrl.isBlank()) {
dismiss() dismiss()
return return
...@@ -68,6 +103,7 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -68,6 +103,7 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
webViewInit(wv_content) webViewInit(wv_content)
} }
override fun setCancelable(cancelable: Boolean) { override fun setCancelable(cancelable: Boolean) {
val dialog = dialog val dialog = dialog
val touchOutsideView = val touchOutsideView =
...@@ -75,8 +111,6 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -75,8 +111,6 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
val bottomSheetView = val bottomSheetView =
dialog?.window?.decorView?.findViewById<View>(com.google.android.material.R.id.design_bottom_sheet) dialog?.window?.decorView?.findViewById<View>(com.google.android.material.R.id.design_bottom_sheet)
if (cancelable) { if (cancelable) {
touchOutsideView?.setOnClickListener(View.OnClickListener { touchOutsideView?.setOnClickListener(View.OnClickListener {
if (dialog.isShowing) { if (dialog.isShowing) {
...@@ -92,52 +126,63 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -92,52 +126,63 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
} }
} }
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
dialog.setOnShowListener { dialog.setOnShowListener {
val itemView = LayoutInflater.from(context).inflate(R.layout.confide_bottom_two,null,false) val itemView =
val layoutCall=itemView.findViewById<View>(R.id.layoutCall) LayoutInflater.from(context).inflate(R.layout.confide_bottom_two, null, false)
val layoutChange=itemView.findViewById<View>(R.id.layoutChange) layoutCall = itemView.findViewById<View>(R.id.layoutCall)
val layout_change_text=itemView.findViewById<View>(R.id.layout_change_text) layoutChange = itemView.findViewById<View>(R.id.layoutChange)
val confide_progress=itemView.findViewById<View>(R.id.confide_progress) tvCall = itemView.findViewById<TextView>(R.id.tvCall)
tvTime = itemView.findViewById<TextView>(R.id.tvTime)
first_order = itemView.findViewById<TextView>(R.id.first_order)
val isLogin = findRouteService(IUserService::class.java)?.isLogin() ?: false
first_order.visibility =if (isLogin) View.GONE else View.VISIBLE
val layout_change_text = itemView.findViewById<View>(R.id.layout_change_text)
val confide_progress = itemView.findViewById<View>(R.id.confide_progress)
if (shouldShow == true) {
layoutChange.visibility = View.VISIBLE
} else {
layoutChange.visibility = View.GONE
}
layoutCall.setOnClickListener { layoutCall.setOnClickListener {
callJsFun(wv_content,"layoutCall()") callJsFun(wv_content, "listenCallClick()")
} }
layoutChange.setOnClickListener { layoutChange.setOnClickListener {
layout_change_text.visibility=View.GONE layout_change_text.visibility = View.GONE
confide_progress.visibility=View.VISIBLE confide_progress.visibility = View.VISIBLE
callJsFun(wv_content,"layoutCall()") callJsFun(wv_content, "handleNext()")
} }
val layoutParams = FrameLayout.LayoutParams( val layoutParams = FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT FrameLayout.LayoutParams.WRAP_CONTENT
).apply { gravity= Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL } ).apply { gravity = Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL }
dialog?.window?.addContentView(itemView,layoutParams) dialog?.window?.addContentView(itemView, layoutParams)
val bottomSheet = (it as BottomSheetDialog).findViewById<View>(com.google.android.material.R.id.design_bottom_sheet) as FrameLayout? val bottomSheet =
(it as BottomSheetDialog).findViewById<View>(com.google.android.material.R.id.design_bottom_sheet) as FrameLayout?
val behavior = BottomSheetBehavior.from(bottomSheet!!) val behavior = BottomSheetBehavior.from(bottomSheet!!)
behavior.peekHeight=RxImageTool.dp2px(600f) behavior.peekHeight = RxImageTool.dp2px(600f)
//true是跳过peekHeight,直接滑下去,false是可以滑动到顶部还可以保持peekHeight在滑下去 //true是跳过peekHeight,直接滑下去,false是可以滑动到顶部还可以保持peekHeight在滑下去
// behavior?.skipCollapsed=true // behavior?.skipCollapsed=true
behavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() { behavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() {
override fun onStateChanged(bottomSheet: View, newState: Int) { override fun onStateChanged(bottomSheet: View, newState: Int) {
when (newState) { when (newState) {
3 -> { 3 -> {
rl_title.visibility=View.VISIBLE rl_title.visibility = View.VISIBLE
close_webview_Icon.visibility=View.VISIBLE close_webview_Icon.visibility = View.VISIBLE
text_title.visibility=View.VISIBLE text_title.visibility = View.VISIBLE
line.visibility=View.GONE line.visibility = View.GONE
} }
1 -> { 1 -> {
rl_title.visibility=View.VISIBLE rl_title.visibility = View.VISIBLE
close_webview_Icon.visibility=View.GONE close_webview_Icon.visibility = View.GONE
text_title.visibility=View.GONE text_title.visibility = View.GONE
line.visibility=View.VISIBLE line.visibility = View.VISIBLE
} }
4 -> { 4 -> {
rl_title.visibility=View.VISIBLE rl_title.visibility = View.VISIBLE
line.visibility=View.VISIBLE line.visibility = View.VISIBLE
} }
} }
} }
...@@ -147,7 +192,8 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -147,7 +192,8 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
} }
return dialog return dialog
} }
private fun callJsFun(wv_content: ProgressWebView,funcName:String) {
private fun callJsFun(wv_content: ProgressWebView, funcName: String) {
val sb = StringBuffer("javascript:") val sb = StringBuffer("javascript:")
sb.append(funcName) sb.append(funcName)
wv_content.post { wv_content.post {
...@@ -158,6 +204,7 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -158,6 +204,7 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
} }
} }
} }
@SuppressLint("ClickableViewAccessibility") @SuppressLint("ClickableViewAccessibility")
private fun webViewInit(wv_content: ProgressWebView) { private fun webViewInit(wv_content: ProgressWebView) {
val setting: WebSettings = wv_content?.settings!! val setting: WebSettings = wv_content?.settings!!
...@@ -182,10 +229,10 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -182,10 +229,10 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
.getJavascripHandler(requireActivity(), tellData = TellData()) .getJavascripHandler(requireActivity(), tellData = TellData())
wv_content!!.addJavascriptInterface(jtoJHandle, "javascriptHandler") wv_content!!.addJavascriptInterface(jtoJHandle, "javascriptHandler")
wv_content.loadUrl("https://m.ydl.com/jy/experts/23035?v=4.0.99&uid=9404770&ts=1652787528&toConfide=1&" + var jumpurl = "http://192.168.210.152/jy/listenMask?listenerId=257&isFromApp=1"
"platform_main_theme_light=00D4DF&platform_main_theme_bright=EAFAFC&platform_main_theme=00C9E2&isFromApp=1&" + var url = WebUrlParamsUtils.getSuffix(jumpurl, jtoJHandle.getUriAppendSuffix())
"id=1927&ffrom=android_zhuzhan&barHeight=81&accessToken=87cba5b57f9bb196856ade3522805c11MjIwMw&sign=" + LogUtil.e("AAA" + url)
"6ce496690d7d5a184935f986c3631cc2") wv_content.loadUrl(url)
// wv_content.loadUrl(jumpUrl) // wv_content.loadUrl(jumpUrl)
wv_content.setOnTouchListener { p0, p1 -> //canScrollVertically(-1)的值表示是否能向下滚动,false表示已经滚动到顶部 wv_content.setOnTouchListener { p0, p1 -> //canScrollVertically(-1)的值表示是否能向下滚动,false表示已经滚动到顶部
if (!wv_content.canScrollVertically(-1)) { if (!wv_content.canScrollVertically(-1)) {
...@@ -196,4 +243,57 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() { ...@@ -196,4 +243,57 @@ class ConfideBottomSheetDialogFragment : BottomSheetDialogFragment() {
false; false;
} }
} }
@SuppressLint("CheckResult")
private fun onLoadDialStatus() {
val confideApi = YDLHttpUtils.obtainApi(ConfideHomeApi::class.java)
confideApi.getDialStatus(doctorId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ resp ->
if (resp.code == "200") {
layoutCall.visibility = View.VISIBLE
val lineStatus = resp.data?.confideLine ?: 2
/*
* 1在线 2离线 3通话中 4 继续倾诉
*
*
* */
when (lineStatus) {
1 -> {
tvCall.text = "立即拨打"
layoutCall.background =
context?.getDrawable(R.drawable.confide_line_bg_1)
}
2 -> {
tvCall.text = "已离线"
layoutCall.background =
context?.getDrawable(R.drawable.confide_line_bg_2)
}
3 -> {
tvCall.text = "通话中"
layoutCall.background =
context?.getDrawable(R.drawable.confide_line_bg_3)
}
4 -> {
tvCall.text = "继续倾诉"
layoutCall.background =
context?.getDrawable(R.drawable.confide_line_bg_1)
val t = resp?.data?.remainingTime?.remainingTime
if (t != null) {
tvTime.visibility = View.VISIBLE
val remain = TimeUtil.getElapseTimeForShow(t * 1000)
tvTime.text = "(剩余" + remain + ")"
}
}
}
} else {
if (!resp.msg.isNullOrEmpty()) {
ToastUtil.toastShort(resp.msg)
}
}
}, { throwable -> throwable.printStackTrace() })
}
} }
\ No newline at end of file
...@@ -6,6 +6,7 @@ import android.graphics.Color ...@@ -6,6 +6,7 @@ import android.graphics.Color
import android.os.Build import android.os.Build
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.SimpleItemAnimator import androidx.recyclerview.widget.SimpleItemAnimator
import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.facade.annotation.Route
...@@ -251,9 +252,8 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -251,9 +252,8 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
*/ */
private fun initClick() { private fun initClick() {
quick_consult_card.setOnClickListener { quick_consult_card.setOnClickListener {
quickConsultUrl?.let { ConfideBottomSheetDialogFragment()
mConfideEvent?.categoryClick(quickConsultUrl) .showBottomSheetDialog(this as FragmentActivity, "","",true)
}
} }
} }
......
...@@ -56,7 +56,7 @@ class RecentConfideAdapter(val data: List<ItemVideoShowViewModel>, private val e ...@@ -56,7 +56,7 @@ class RecentConfideAdapter(val data: List<ItemVideoShowViewModel>, private val e
override fun onBindViewHolder(holder: BindingViewHolder<ItemConfideHomeRecentBinding>, position: Int) { override fun onBindViewHolder(holder: BindingViewHolder<ItemConfideHomeRecentBinding>, position: Int) {
val itemVideoShowViewModel = data[position] val itemVideoShowViewModel = data[position]
holder.binding.item = itemVideoShowViewModel holder.binding.item = itemVideoShowViewModel
holder.itemView.setOnClickListener { event.consultantClick(itemVideoShowViewModel.linkUrl) } holder.itemView.setOnClickListener { event.consultantClick(itemVideoShowViewModel.linkUrl,itemVideoShowViewModel.doctorId) }
} }
override fun getItemCount() = data.size override fun getItemCount() = data.size
...@@ -68,6 +68,7 @@ class ItemVideoShowViewModel { ...@@ -68,6 +68,7 @@ class ItemVideoShowViewModel {
val coverUrl = ObservableField<String>("") val coverUrl = ObservableField<String>("")
val videoCoverUrl = ObservableField<String>("") val videoCoverUrl = ObservableField<String>("")
val state = ObservableInt() val state = ObservableInt()
var doctorId: String? = null
} }
internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoShowViewModel { internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoShowViewModel {
...@@ -76,6 +77,7 @@ internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoS ...@@ -76,6 +77,7 @@ internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoS
videoCoverUrl.set(bean.coverVideoPicture) videoCoverUrl.set(bean.coverVideoPicture)
state.set(bean.confideLine ?: 0) state.set(bean.confideLine ?: 0)
linkUrl = bean.linkUrl linkUrl = bean.linkUrl
doctorId = bean.doctorId
return this return this
} }
......
...@@ -144,9 +144,9 @@ class ConfideHomeEventImpl(context: Context, var confideHomeView: IConfideHomeCo ...@@ -144,9 +144,9 @@ class ConfideHomeEventImpl(context: Context, var confideHomeView: IConfideHomeCo
* @param linkUrl 跳转地址 * @param linkUrl 跳转地址
*/ */
@SuppressLint("JavascriptInterface", "ClickableViewAccessibility") @SuppressLint("JavascriptInterface", "ClickableViewAccessibility")
override fun consultantClick(linkUrl: String?) { override fun consultantClick(linkUrl: String?,doctorId: String?) {
ConfideBottomSheetDialogFragment() ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(mContext as BaseActivity,linkUrl!!) .showBottomSheetDialog(mContext as BaseActivity,linkUrl!!,doctorId!!)
// link(linkUrl) // link(linkUrl)
} }
......
...@@ -73,7 +73,7 @@ interface IConfideHomeEvent { ...@@ -73,7 +73,7 @@ interface IConfideHomeEvent {
* 咨询师推荐--点我倾诉 * 咨询师推荐--点我倾诉
* @param linkUrl 跳转地址 * @param linkUrl 跳转地址
*/ */
fun consultantClick(linkUrl: String?) fun consultantClick(linkUrl: String?,doctorId: String?)
fun videoShowClick(index: Int, data: List<ConfideHomeBodyBean>?) fun videoShowClick(index: Int, data: List<ConfideHomeBodyBean>?)
......
...@@ -243,7 +243,7 @@ class ConfideHomeRecommendExpertItemView(mContext: Context, private var confideH ...@@ -243,7 +243,7 @@ class ConfideHomeRecommendExpertItemView(mContext: Context, private var confideH
private fun click(bodyBean: ConfideHomeBodyBean) { private fun click(bodyBean: ConfideHomeBodyBean) {
when (bodyBean.confideLine) {//1在线 2离线 3通话中 when (bodyBean.confideLine) {//1在线 2离线 3通话中
1, 3, 4 -> { 1, 3, 4 -> {
confideHomeEvent.consultantClick(bodyBean.linkUrl) confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId)
} }
2 -> { 2 -> {
//跳转私聊 并发送自定义消息 //跳转私聊 并发送自定义消息
......
...@@ -85,7 +85,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -85,7 +85,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
//设置页面点击事件 //设置页面点击事件
this.setOnClickListener { this.setOnClickListener {
confideHomeEvent.consultantClick(bodyBean.linkUrl) confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId)
} }
} }
...@@ -323,7 +323,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -323,7 +323,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
if (bodyBean.confideLine == 3) { if (bodyBean.confideLine == 3) {
} }
confideHomeEvent.consultantClick(bodyBean.linkUrl) confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId)
} }
2 -> { 2 -> {
//跳转私聊 并发送自定义消息 //跳转私聊 并发送自定义消息
......
...@@ -49,7 +49,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -49,7 +49,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
vm = item vm = item
binding.layoutCall.setOnClickListener { binding.layoutCall.setOnClickListener {
ConfideBottomSheetDialogFragment() ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(itemView.context as FragmentActivity, item.linkUrl!!) .showBottomSheetDialog(itemView.context as FragmentActivity, item.linkUrl!!,item.doctorId!!)
} }
binding.btnChat.setOnClickListener { binding.btnChat.setOnClickListener {
val aty = it.context as? Activity val aty = it.context as? Activity
...@@ -59,7 +59,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -59,7 +59,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
} }
binding.btnEvaluate.setOnClickListener { binding.btnEvaluate.setOnClickListener {
ConfideBottomSheetDialogFragment() ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(itemView.context as FragmentActivity, item.linkUrl!!) .showBottomSheetDialog(itemView.context as FragmentActivity, item.linkUrl!!,item.doctorId!!)
} }
binding.vDisableClick.setOnClickListener { } binding.vDisableClick.setOnClickListener { }
binding.btnShare.setOnClickListener { binding.btnShare.setOnClickListener {
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout 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"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:layout_marginStart="@dimen/platform_dp_15" android:layout_marginStart="@dimen/platform_dp_15"
android:layout_marginEnd="@dimen/platform_dp_15" android:layout_marginEnd="@dimen/platform_dp_15"
android:background="@color/transparent" android:background="@color/transparent"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:orientation="horizontal"> android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layoutCall" android:id="@+id/layoutCall"
android:layout_width="150dp" android:layout_width="150dp"
android:layout_height="42dp" android:layout_height="42dp"
android:layout_marginBottom="32dp" android:layout_marginBottom="32dp"
android:background="@drawable/confide_line_bg_1" android:background="@drawable/confide_line_bg_1"
android:paddingLeft="28dp" android:visibility="gone"
android:paddingRight="28dp" tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"> app:layout_constraintRight_toLeftOf="@id/layoutChange"
>
<ImageView <ImageView
android:id="@+id/ivCall" android:id="@+id/ivCall"
...@@ -28,6 +29,7 @@ ...@@ -28,6 +29,7 @@
android:layout_marginRight="4dp" android:layout_marginRight="4dp"
android:src="@drawable/ic_confide_call" android:src="@drawable/ic_confide_call"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/tvCall" app:layout_constraintRight_toLeftOf="@+id/tvCall"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -37,14 +39,44 @@ ...@@ -37,14 +39,44 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="通话中" android:text="继续倾诉"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="17sp" android:textSize="17sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toTopOf="@+id/tvTime"
app:layout_constraintLeft_toRightOf="@+id/ivCall" app:layout_constraintLeft_toRightOf="@+id/ivCall"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@color/white"
android:textSize="10sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="@+id/tvCall"
app:layout_constraintRight_toRightOf="@+id/tvCall"
app:layout_constraintTop_toBottomOf="@+id/tvCall"
tools:text="剩余1分40秒" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_confide_free"
android:paddingLeft="5dp"
android:paddingTop="2dp"
android:paddingRight="5dp"
android:paddingBottom="2dp"
android:text="首单免费"
android:textColor="@color/white"
android:textSize="11sp"
android:id="@+id/first_order"
android:visibility="gone"
app:layout_constraintCircle="@+id/layoutCall"
app:layout_constraintCircleAngle="70"
app:layout_constraintCircleRadius="70dp" />
<LinearLayout <LinearLayout
android:id="@+id/layoutChange" android:id="@+id/layoutChange"
...@@ -52,7 +84,12 @@ ...@@ -52,7 +84,12 @@
android:layout_height="42dp" android:layout_height="42dp"
android:layout_marginStart="@dimen/platform_dp_23" android:layout_marginStart="@dimen/platform_dp_23"
android:layout_marginBottom="32dp" android:layout_marginBottom="32dp"
android:visibility="gone"
tools:visibility="visible"
android:background="@drawable/confide_line_bg_change" android:background="@drawable/confide_line_bg_change"
app:layout_constraintTop_toTopOf="@id/layoutCall"
app:layout_constraintLeft_toRightOf="@id/layoutCall"
app:layout_constraintRight_toRightOf="parent"
android:gravity="center" android:gravity="center"
android:paddingLeft="28dp" android:paddingLeft="28dp"
android:paddingRight="28dp"> android:paddingRight="28dp">
...@@ -74,4 +111,4 @@ ...@@ -74,4 +111,4 @@
> >
</ProgressBar> </ProgressBar>
</LinearLayout> </LinearLayout>
</LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment