Ver Fonte

1.修改游戏结算页面UI

王鹏鹏 há 2 anos atrás
pai
commit
99455be438

+ 46 - 78
game/src/main/java/com/yingyangfly/game/adapter/GameResultAdapter.kt

@@ -1,20 +1,13 @@
 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 android.view.animation.Animation
+import android.view.animation.AnimationUtils
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
 import com.yingyangfly.game.R
 import com.yingyangfly.game.databinding.ItemGameResultBinding
 import com.yingyangfly.game.entity.Detail
 
-
 /**
  * 游戏结算adapter
  */
@@ -22,83 +15,58 @@ class GameResultAdapter(override val layoutId: Int = R.layout.item_game_result)
     BaseDataBindingAdapter<Detail, ItemGameResultBinding>() {
 
     var content: Context? = null
+    var animation: Animation? = null
 
     fun setAdapterContent(content: Context) {
         this.content = content
+        animation = AnimationUtils.loadAnimation(content, R.anim.game_result_scale_anim)
     }
 
     override fun onBindViewHolder(binding: ItemGameResultBinding, item: Detail, position: Int) {
         binding.data = item
-        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)
-                }
+        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)
+            }
+            "10" -> {
+                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_two)
+            }
+            "11" -> {
+                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_three)
+            }
+            "12" -> {
+                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_four)
+            }
+            else -> {
+                binding.levelImage.setBackgroundResource(R.mipmap.bg_game_level_four)
             }
         }
-    }
-
-    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)
+        if (animation != null) {
+            binding.levelImage.startAnimation(animation)
+        }
     }
 }

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

@@ -20,7 +20,7 @@ class GameSettlementViewModel : BaseViewModel() {
         playClasses: String,
         fail: ((msg: String) -> Unit)? = null,
         success: ((success: GameResultBean?) -> Unit)? = null,
-    ) = launchFlow(false) {
+    ) = launchFlow(true) {
         val requestBean = GetGameDetailByCodeBean().apply {
             gameCode = code
             playClass = playClasses

+ 11 - 0
game/src/main/res/anim/game_result_scale_anim.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<scale xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="1000"
+    android:fillBefore="false"
+    android:fromXScale="0"
+    android:fromYScale="0"
+    android:pivotX="0%"
+    android:repeatCount="0"
+    android:repeatMode="reverse"
+    android:toXScale="1"
+    android:toYScale="1" />

BIN
game/src/main/res/mipmap-xxhdpi/bg_game_level_four.png


BIN
game/src/main/res/mipmap-xxhdpi/bg_game_level_one.png


BIN
game/src/main/res/mipmap-xxhdpi/bg_game_level_three.png


BIN
game/src/main/res/mipmap-xxhdpi/bg_game_level_two.png