From 442124baa483f8d1c4aaca7ff81e15dd3f122363 Mon Sep 17 00:00:00 2001 From: 罗明文 <125975490@qq.com> Date: 星期四, 22 五月 2025 13:14:36 +0800 Subject: [PATCH] save --- app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt index 21a4003..d3e8208 100644 --- a/app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt +++ b/app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt @@ -1,22 +1,89 @@ package com.dollearn.student.ui.home.adapter +import android.util.Log import android.view.View +import android.widget.ImageView +import androidx.constraintlayout.motion.widget.MotionLayout +import androidx.constraintlayout.widget.ConstraintLayout +import cn.sinata.xldutils.activity.ImagePagerActivity import cn.sinata.xldutils.adapter.HFRecyclerAdapter import cn.sinata.xldutils.adapter.util.ViewHolder import com.dollearn.student.R import com.dollearn.student.network.entity.Subject import com.dollearn.student.ui.home.SuperListenActivity +import com.dollearn.student.utils.Const +import com.dollearn.student.utils.event.EmptyEvent +import com.dollearn.student.utils.event.IntEvent import com.dollearn.student.utils.extention.clickDelay import com.facebook.drawee.view.SimpleDraweeView +import kotlinx.android.synthetic.main.fragment_listen.* +import org.greenrobot.eventbus.EventBus +import org.jetbrains.anko.dip +import org.jetbrains.anko.startActivity import java.util.ArrayList class GameAdapter(list: ArrayList<Subject>):HFRecyclerAdapter<Subject>(list, R.layout.item_game_1) { + var height:Int = 200 //行高 override fun onBind(holder: ViewHolder, position: Int, data: Subject) { + val act = context as SuperListenActivity holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.img) val view = holder.bind<View>(R.id.cl_voice_end_1) - view.visibility = if (data.right) View.VISIBLE else View.GONE + val iv_full = holder.bind<View>(R.id.iv_full) + iv_full.setOnClickListener { + act.showFullImage = true + act.startActivity<ImagePagerActivity>("url" to arrayListOf(data.img)) + } + val motion = holder.bind<MotionLayout>(R.id.motion) + motion.progress = 0f + val ivResult = holder.bind<ImageView>(R.id.result_1) + view.visibility = if (data.right) View.VISIBLE else View.INVISIBLE view.clickDelay { // (context as SuperListenActivity) } + val layoutParams = motion.layoutParams as ConstraintLayout.LayoutParams + layoutParams.height = height - act.dip(16) + motion.layoutParams = layoutParams + holder.itemView.setOnClickListener { + if (act.playing||act.index>act.voiceList.size-1) + return@setOnClickListener + if (act.state!=2) + return@setOnClickListener + Log.e(act.TAG,"点击图片:${act.list[position].name}") + Log.e(act.TAG,"音频position:${act.index}") + Log.e(act.TAG,"音频路径:${act.voiceList[act.index]}") + + val subject = act.data!!.subjectList[act.data!!.subjectList.map { it.correct }.indexOf(act.voiceList[act.index])] //当前音频对应题目 + Log.e(act.TAG,"正确答案:${subject.name}") + + act.handler?.removeMessages(act.COUNT_DOWN) //选择答案后,停止倒计时 + if (data.id == subject.id){ + ivResult.setImageResource(R.mipmap.successs) + act.handler?.sendEmptyMessage(act.PLAY_RIGHT) + act.rightCount++ + subject.completed = true + subject.right = true + act.transAnimation(view) + }else{ + act.handler?.sendEmptyMessage(act.PLAY_ERROR) //选择答案后,停止倒计时 + ivResult.setImageResource(R.mipmap.zhifushibai) + subject.completed = true + subject.right = false + } + motion.transitionToEnd() + motion.setTransitionListener(object :MotionLayout.TransitionListener{ + override fun onTransitionStarted(p0: MotionLayout?, p1: Int, p2: Int) { + } + + override fun onTransitionChange(p0: MotionLayout?, p1: Int, p2: Int, p3: Float) { + } + + override fun onTransitionCompleted(p0: MotionLayout?, p1: Int) { + motion.progress = 0f + } + + override fun onTransitionTrigger(p0: MotionLayout?, p1: Int, p2: Boolean, p3: Float) { + } + }) + } } } -- Gitblit v1.7.1