Browse Source

1.修改直播页面UI

王鹏鹏 2 years ago
parent
commit
0adfe9d5ff

+ 2 - 0
.idea/misc.xml

@@ -41,6 +41,8 @@
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/activity_home.xml" value="0.2" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/item_game.xml" value="0.16" />
         <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/bg_live_broadcast.xml" value="0.219" />
+        <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/bg_live_broadcast_button.xml" value="0.219" />
+        <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/bg_live_status.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/selector_live_tab_center.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/selector_live_tab_left.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/selector_live_tab_right.xml" value="0.219" />

+ 20 - 3
livebroadcast/src/main/java/com/yingyang/livebroadcast/activity/list/LiveBroadcastListActivity.kt

@@ -1,9 +1,8 @@
 package com.yingyang.livebroadcast.activity.list
 
-import android.content.Intent
-import android.provider.Settings
 import androidx.recyclerview.widget.GridLayoutManager
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.yingyang.livebroadcast.R
 import com.yingyang.livebroadcast.adapter.LiveBroadcastAdapter
 import com.yingyang.livebroadcast.databinding.ActivityLiveBroadcastListBinding
 import com.yingyang.livebroadcast.entity.Record
@@ -48,6 +47,19 @@ class LiveBroadcastListActivity :
             liveBroadcastAdapter.onLiveBroadcastImageClickListener = { bean ->
                 initPermission(bean)
             }
+            radioLive.setOnCheckedChangeListener { group, checkedId ->
+                when (checkedId) {
+                    R.id.rdb_appointment -> {
+                        liveBroadcastAdapter.setType("预约直播")
+                    }
+                    R.id.rdb_live -> {
+                        liveBroadcastAdapter.setType("直播中")
+                    }
+                    else -> {
+                        liveBroadcastAdapter.setType("直播回放")
+                    }
+                }
+            }
         }
     }
 
@@ -69,6 +81,7 @@ class LiveBroadcastListActivity :
     }
 
     override fun initData() {
+        liveBroadcastAdapter.setType("预约直播")
         loadData(true)
     }
 
@@ -123,7 +136,11 @@ class LiveBroadcastListActivity :
 
                 override fun hasPermission(granted: MutableList<String>?, isAll: Boolean) {
                     if (isAll) {
-                        JumpUtil.jumpActivityWithUrl(RouterUrlCommon.liveBroadcast, bean.webrtcPull, this@LiveBroadcastListActivity)
+                        JumpUtil.jumpActivityWithUrl(
+                            RouterUrlCommon.liveBroadcast,
+                            bean.webrtcPull,
+                            this@LiveBroadcastListActivity
+                        )
                     } else {
                         showTipDialog()
                     }

+ 10 - 0
livebroadcast/src/main/java/com/yingyang/livebroadcast/adapter/LiveBroadcastAdapter.kt

@@ -1,5 +1,6 @@
 package com.yingyang.livebroadcast.adapter
 
+import android.annotation.SuppressLint
 import com.yingyang.livebroadcast.R
 import com.yingyang.livebroadcast.databinding.ItemLiveBroadcastBinding
 import com.yingyang.livebroadcast.entity.Record
@@ -13,10 +14,19 @@ import com.yingyangfly.baselib.ext.setOnSingleClickListener
 class LiveBroadcastAdapter(override val layoutId: Int = R.layout.item_live_broadcast) :
     BaseDataBindingAdapter<Record, ItemLiveBroadcastBinding>() {
 
+    private var method = ""
+
+    @SuppressLint("NotifyDataSetChanged")
+    fun setType(type: String) {
+        method = type
+        notifyDataSetChanged()
+    }
+
     var onLiveBroadcastImageClickListener: ((bean: StreamInfo) -> Unit)? = null
 
     override fun onBindViewHolder(binding: ItemLiveBroadcastBinding, item: Record, position: Int) {
         binding.data = item
+        binding.tvTitle.text = method
         binding.layoutLiveBroadcast.setOnSingleClickListener {
             if (item.streamInfo != null) {
                 onLiveBroadcastImageClickListener?.invoke(item.streamInfo)

+ 18 - 0
livebroadcast/src/main/res/drawable/bg_live_status.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <item>
+        <shape android:shape="rectangle">
+            <corners android:radius="@dimen/divider_13px" />
+            <gradient
+                android:angle="180"
+                android:endColor="@color/color_ff4571ff"
+                android:startColor="@color/color_ff8fafff"
+                android:type="linear"
+                android:useLevel="true" />
+        </shape>
+    </item>
+
+</layer-list>

+ 9 - 2
livebroadcast/src/main/res/layout/item_live_broadcast.xml

@@ -23,6 +23,7 @@
             android:layout_width="@dimen/divider_142px"
             android:layout_height="@dimen/divider_142px"
             android:layout_marginStart="@dimen/divider_22px"
+            app:isCircle="@{true}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintTop_toTopOf="parent"
@@ -45,8 +46,14 @@
 
         <androidx.appcompat.widget.AppCompatTextView
             android:id="@+id/tvTitle"
-            style="@style/text_live_broadcast"
-            android:text="@{data.liveDesn}"
+            android:layout_width="@dimen/divider_160px"
+            android:layout_height="@dimen/divider_48px"
+            android:layout_marginStart="@dimen/divider_20px"
+            android:layout_marginTop="@dimen/divider_12px"
+            android:background="@drawable/bg_live_status"
+            android:gravity="center"
+            android:textColor="@android:color/white"
+            android:textSize="@dimen/divider_24px"
             app:layout_constraintLeft_toRightOf="@+id/headImage"
             app:layout_constraintTop_toBottomOf="@+id/tvName" />
 

+ 1 - 0
livebroadcast/src/main/res/values/dimens.xml

@@ -9,6 +9,7 @@
     <dimen name="divider_202px" tools:ignore="PxUsage">202px</dimen>
     <dimen name="divider_195px" tools:ignore="PxUsage">195px</dimen>
     <dimen name="divider_180px" tools:ignore="PxUsage">180px</dimen>
+    <dimen name="divider_160px" tools:ignore="PxUsage">160px</dimen>
     <dimen name="divider_142px" tools:ignore="PxUsage">142px</dimen>
     <dimen name="divider_140px" tools:ignore="PxUsage">140px</dimen>
     <dimen name="divider_120px" tools:ignore="PxUsage">120px</dimen>