|
|
@@ -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)
|
|
|
+ }
|
|
|
}
|