Quellcode durchsuchen

feat: 推荐游戏 full

(cherry picked from commit da035864368d235aa387a27b58cf3682dd614673)
tongmengxiao vor 1 Jahr
Ursprung
Commit
8ec9c64970

+ 6 - 1
room/src/main/java/com/swago/room/adapter/RecommendBannerViewAdapter.kt

@@ -1,8 +1,12 @@
 package com.swago.room.adapter
 
+import android.graphics.RectF
 import android.view.ViewGroup
 import android.widget.ImageView
 import androidx.recyclerview.widget.RecyclerView
+import com.google.android.material.imageview.ShapeableImageView
+import com.google.android.material.shape.CornerSize
+import com.google.android.material.shape.ShapeAppearanceModel
 import com.swago.baseswago.model.live.RoomConfig
 import com.swago.baseswago.model.live.game.GameModel
 import com.swago.loadUrl
@@ -15,12 +19,13 @@ class RecommendBannerViewAdapter(data:List<GameModel>) :  BannerAdapter<GameMode
     )
 
     override fun onCreateHolder(parent: ViewGroup, viewType: Int): BannerViewHolder {
-        val imageView = ImageView(parent.context)
+        val imageView = ShapeableImageView(parent.context)
         //注意,必须设置为match_parent,这个是viewpager2强制要求的
         imageView.layoutParams = ViewGroup.LayoutParams(
             ViewGroup.LayoutParams.MATCH_PARENT,
             ViewGroup.LayoutParams.MATCH_PARENT
         )
+        imageView.shapeAppearanceModel = ShapeAppearanceModel().withCornerSize(20f)
         imageView.scaleType = ImageView.ScaleType.CENTER_CROP
         return BannerViewHolder(imageView)
     }

+ 1 - 0
room/src/main/java/com/swago/room/base/BaseComFragment.kt

@@ -810,6 +810,7 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
                 it.roomModel?.game_type = game.game_type
                 it.roomModel?.game_version = game.game_version
                 it.roomModel?.game_icon_url = game.game_icon_url
+                it.roomModel?.is_full_game = game.is_full_game
                 openGameDialog()
             }
         }

+ 3 - 2
room/src/main/java/com/swago/room/widget/RecommendBannerView.kt

@@ -14,6 +14,7 @@ import com.swago.baseswago.model.live.game.GameModel
 import com.swago.room.adapter.BannerViewAdapter
 import com.swago.room.adapter.RecommendBannerViewAdapter
 import com.swago.room.databinding.ViewBannerBinding
+import com.swago.room.databinding.ViewBannerRecommendBinding
 import com.youth.banner.indicator.CircleIndicator
 
 class RecommendBannerView : FrameLayout,IRoomActiveListener {
@@ -26,7 +27,7 @@ class RecommendBannerView : FrameLayout,IRoomActiveListener {
 
     private val bannerViewAdapter  = RecommendBannerViewAdapter(mData)
 
-    private var binding:ViewBannerBinding? = null
+    private var binding:ViewBannerRecommendBinding? = null
 
     constructor(context: Context) : super(context)
     constructor(context: Context, mAttributeSet: AttributeSet?) : super(context, mAttributeSet){
@@ -35,7 +36,7 @@ class RecommendBannerView : FrameLayout,IRoomActiveListener {
 
     private fun initView(context: Context) {
         SwagoRoomManager.addListener(this)
-        binding = ViewBannerBinding.inflate(LayoutInflater.from(context),this,true)
+        binding = ViewBannerRecommendBinding.inflate(LayoutInflater.from(context),this,true)
     }
 
     override fun changeRoom(iRoomInfo: IRoomInfo) {

+ 2 - 1
room/src/main/res/layout/fragment_base_com.xml

@@ -98,11 +98,12 @@
     <com.swago.room.widget.RecommendBannerView
         android:id="@+id/playBannerView"
         app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="300dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         tools:visibility="visible"
         android:visibility="gone"
+        android:layout_marginRight="2dp"
+        android:layout_marginTop="280dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
 

+ 30 - 0
room/src/main/res/layout/view_banner_recommend.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="65dp"
+    android:layout_height="65dp"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <com.youth.banner.Banner
+        android:id="@+id/banner"
+        android:layout_width="48dp"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:banner_indicator_selected_color="@color/white"
+        app:banner_indicator_normal_color="#cccccc"
+        app:banner_indicator_selected_width="4dp"
+        app:banner_indicator_normal_width="4dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        android:layout_height="48dp"/>
+
+    <com.youth.banner.indicator.CircleIndicator
+        android:id="@+id/cirCleIndicator"
+        android:layout_marginTop="6dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        android:layout_width="wrap_content"
+        android:layout_height="4dp"/>
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>