From 855a7e18a795f0db2453a19e3e8f26ba2ff553b4 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期四, 29 五月 2025 16:32:41 +0800 Subject: [PATCH] UI调整 --- app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 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 80ef44d..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 @@ -4,6 +4,8 @@ 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 @@ -16,20 +18,31 @@ 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) + 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.GONE + view.visibility = if (data.right) View.VISIBLE else View.INVISIBLE view.clickDelay { // (context as SuperListenActivity) } - val act = 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 @@ -47,15 +60,14 @@ ivResult.setImageResource(R.mipmap.successs) act.handler?.sendEmptyMessage(act.PLAY_RIGHT) act.rightCount++ + subject.completed = true subject.right = true - notifyItemChanged(position) + act.transAnimation(view) }else{ act.handler?.sendEmptyMessage(act.PLAY_ERROR) //选择答案后,停止倒计时 ivResult.setImageResource(R.mipmap.zhifushibai) subject.completed = true subject.right = false - act.index++ - act.startGame() } motion.transitionToEnd() motion.setTransitionListener(object :MotionLayout.TransitionListener{ -- Gitblit v1.7.1