Bladeren bron

1.修改游戏结算页面UI

王鹏鹏 2 jaren geleden
bovenliggende
commit
42952ba8a6

+ 85 - 30
game/src/main/java/com/yingyangfly/game/adapter/GameResultAdapter.kt

@@ -1,49 +1,104 @@
 package com.yingyangfly.game.adapter
 
+import android.content.Context
+import androidx.annotation.DrawableRes
+import androidx.appcompat.widget.AppCompatImageView
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.DataSource
+import com.bumptech.glide.load.engine.GlideException
+import com.bumptech.glide.load.resource.gif.GifDrawable
+import com.bumptech.glide.request.RequestListener
+import com.bumptech.glide.request.target.Target
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
 import com.yingyangfly.game.R
 import com.yingyangfly.game.databinding.ItemGameResultBinding
 import com.yingyangfly.game.entity.Detail
 
+
 /**
  * 游戏结算adapter
  */
 class GameResultAdapter(override val layoutId: Int = R.layout.item_game_result) :
     BaseDataBindingAdapter<Detail, ItemGameResultBinding>() {
 
+    var content: Context? = null
+
+    fun setAdapterContent(content: Context) {
+        this.content = content
+    }
+
     override fun onBindViewHolder(binding: ItemGameResultBinding, item: Detail, position: Int) {
         binding.data = item
-        when (item.gameLevel) {
-            "1" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_one)
-            }
-            "2" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_two)
-            }
-            "3" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_three)
-            }
-            "4" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_four)
-            }
-            "5" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_one)
-            }
-            "6" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_two)
-            }
-            "7" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_three)
-            }
-            "8" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_four)
-            }
-            "9" -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_one)
-            }
-            else -> {
-                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_two)
+        if (content != null) {
+            when (item.gameLevel) {
+                "1" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_one, binding.levelImage)
+                }
+                "2" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_two, binding.levelImage)
+                }
+                "3" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_three, binding.levelImage)
+                }
+                "4" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_four, binding.levelImage)
+                }
+                "5" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_one, binding.levelImage)
+                }
+                "6" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_two, binding.levelImage)
+                }
+                "7" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_three, binding.levelImage)
+                }
+                "8" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_four, binding.levelImage)
+                }
+                "9" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_one, binding.levelImage)
+                }
+                "10" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_two, binding.levelImage)
+                }
+                "11" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_three, binding.levelImage)
+                }
+                "12" -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_four, binding.levelImage)
+                }
+                else -> {
+                    setImageBackgroundResource(R.drawable.bg_game_level_three, binding.levelImage)
+                }
             }
         }
     }
+
+    private fun setImageBackgroundResource(@DrawableRes resId: Int, image: AppCompatImageView) {
+        Glide.with(content!!)
+            .asGif()
+            .load(resId)
+            .listener(object : RequestListener<GifDrawable> {
+                override fun onLoadFailed(
+                    e: GlideException?,
+                    model: Any?,
+                    target: Target<GifDrawable>?,
+                    isFirstResource: Boolean
+                ): Boolean {
+                    return false
+                }
+
+                override fun onResourceReady(
+                    resource: GifDrawable,
+                    model: Any?,
+                    target: Target<GifDrawable>?,
+                    dataSource: DataSource?,
+                    isFirstResource: Boolean
+                ): Boolean {
+                    resource.setLoopCount(1)
+                    return false
+                }
+            })
+            .into(image)
+    }
 }

+ 1 - 0
game/src/main/java/com/yingyangfly/game/settlement/GameSettlementActivity.kt

@@ -40,6 +40,7 @@ class GameSettlementActivity :
 
     override fun initViews() {
         binding {
+            adapter.setAdapterContent(mContext)
             rvGameLevel.adapter = adapter
             adapter.setData(gameDetail)
             binding.tvGameType.text = gameType

BIN
game/src/main/res/drawable/bg_game_level_four.gif


BIN
game/src/main/res/drawable/bg_game_level_one.gif


BIN
game/src/main/res/drawable/bg_game_level_three.gif


BIN
game/src/main/res/drawable/bg_game_level_two.gif