From 98faa1d5d540a7e4de4086ea11df3fd61b5c7ab9 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 17 七月 2024 11:47:03 +0800
Subject: [PATCH] 将要取消游戏页面item的结果动画

---
 app/src/main/res/layout/activity_super_listen.xml                     |    8 
 app/src/main/res/xml/scene_fragment_match.xml                         |   11 -
 app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt |    8 
 app/src/main/res/layout/item_game_1.xml                               |   48 +++-
 app/src/main/java/com/dollearn/student/ui/home/ResultActivity.kt      |    1 
 /dev/null                                                             |   24 --
 app/src/main/res/layout/fragment_match.xml                            |   74 ++++---
 app/src/main/res/layout/activity_schedul.xml                          |    2 
 app/src/main/res/xml/item_game_1_scene.xml                            |    2 
 app/src/main/res/layout/fragment_include.xml                          |    7 
 app/src/main/res/layout/item_exchange_record.xml                      |    3 
 app/src/main/res/layout/fragmetn_look_img.xml                         |  112 +++++++++-
 app/src/main/res/layout/fragment_choose_voice.xml                     |  144 +++++++++++--
 app/src/main/java/com/dollearn/student/ui/home/SuperListenActivity.kt |  123 ++++++++---
 app/src/main/java/com/dollearn/student/ui/shop/ExchangeActivity.kt    |    3 
 app/src/main/res/layout/fragment_listen.xml                           |   14 +
 16 files changed, 400 insertions(+), 184 deletions(-)

diff --git a/app/src/main/java/com/dollearn/student/ui/home/ResultActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/ResultActivity.kt
index c7c2cfa..8d29fc5 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/ResultActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/ResultActivity.kt
@@ -76,6 +76,7 @@
                 }
             }
             8->{
+                title = "自主学故事1-看图配音"
                 tv_back.visible()
                 tv_last.invisible()
                 tv_exit.invisible()
diff --git a/app/src/main/java/com/dollearn/student/ui/home/SuperListenActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/SuperListenActivity.kt
index a84aa71..bc2b591 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/SuperListenActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/SuperListenActivity.kt
@@ -8,7 +8,6 @@
 import androidx.recyclerview.widget.GridLayoutManager
 import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.utils.SPUtils
-import cn.sinata.xldutils.utils.myToast
 import cn.sinata.xldutils.visible
 import com.dollearn.student.R
 import com.dollearn.student.dialog.CountdownDialog
@@ -26,15 +25,20 @@
 import kotlinx.android.synthetic.main.activity_super_listen.*
 import kotlinx.android.synthetic.main.fragmetn_look_img.*
 import org.greenrobot.eventbus.EventBus
+import kotlin.math.abs
+import kotlin.math.max
+import kotlin.math.min
+import kotlin.math.sqrt
+
 
 class SuperListenActivity : TransparentStatusBarActivity(), AudioUtils.OnAudioStatusUpdateListener {
     override fun setContentView() = R.layout.activity_super_listen
 
     private val week by lazy {
-        intent.getIntExtra("week",0)
+        intent.getIntExtra("week", 0)
     }
     private val season by lazy {
-        intent.getIntExtra("season",0)
+        intent.getIntExtra("season", 0)
     }
     var data:GameBean? = null
     var index = 0
@@ -77,7 +81,19 @@
     override fun initClick() {
         tv_exit.setOnClickListener {
             if (tv_exit.text == "提交"){
-                ResultActivity.startResult(this,0,0,0,6,list.size,rightCount,list.filter { it.right }.sumBy { 1 },time,data!!.data.id,difficulty)
+                ResultActivity.startResult(
+                    this,
+                    0,
+                    0,
+                    0,
+                    6,
+                    list.size,
+                    rightCount,
+                    list.filter { it.right }.sumBy { 1 },
+                    time,
+                    data!!.data.id,
+                    difficulty
+                )
                 finish()
             }else
                 onBackPressed()
@@ -86,23 +102,24 @@
 
     override fun initView() {
         tv_sort.postDelayed({
-             val difficultyDialog = DifficultyDialog()
-            difficultyDialog.setCallback(object :DifficultyDialog.OnClickCallback{
+            val difficultyDialog = DifficultyDialog()
+            difficultyDialog.setCallback(object : DifficultyDialog.OnClickCallback {
                 override fun onOk(d: Int) {
                     difficulty = d
-                    HttpManager.gameHearing(season,week,difficulty).request(this@SuperListenActivity){_,data->
-                        difficultyDialog.dismissAllowingStateLoss()
-                        this@SuperListenActivity.data = data
-                        refreshUi()
-                    }
+                    HttpManager.gameHearing(season, week, difficulty)
+                        .request(this@SuperListenActivity) { _, data ->
+                            difficultyDialog.dismissAllowingStateLoss()
+                            this@SuperListenActivity.data = data
+                            refreshUi()
+                        }
                 }
 
                 override fun onCancel() {
                     finish()
                 }
             })
-            difficultyDialog.show(supportFragmentManager,"dif")
-        },500)
+            difficultyDialog.show(supportFragmentManager, "dif")
+        }, 500)
 
         player.setOnAudioStatusUpdateListener(this)
         player.stopPlayMusic()
@@ -110,39 +127,39 @@
             override fun handleMessage(msg: Message) {
                 super.handleMessage(msg)
                 when(msg.what){
-                    STUDY_TIME->{
+                    STUDY_TIME -> {
                         time++
-                        sendEmptyMessageDelayed(STUDY_TIME,1000)
+                        sendEmptyMessageDelayed(STUDY_TIME, 1000)
                     }
-                    PLAY_VOICE->{
-                        if (index<voiceList.size)
-                            player.startPlayMusic(this@SuperListenActivity,voiceList[index])
+                    PLAY_VOICE -> {
+                        if (index < voiceList.size)
+                            player.startPlayMusic(this@SuperListenActivity, voiceList[index])
                     }
-                    COUNT_DOWN->{
-                        if (!playing){
-                            countTime --
+                    COUNT_DOWN -> {
+                        if (!playing) {
+                            countTime--
                             state = 2
                         }
                         tv_tip.text = "请在${countTime}s内选择答案!"
-                        if ( countTime == 0){
+                        if (countTime == 0) {
                             index++
                             startGame()
-                        }else{
-                            sendEmptyMessageDelayed(COUNT_DOWN,1000)
+                        } else {
+                            sendEmptyMessageDelayed(COUNT_DOWN, 1000)
                         }
                     }
-                    PLAY_RIGHT->{
+                    PLAY_RIGHT -> {
                         rightPlaying = true
-                        player.startPlayMusic(this@SuperListenActivity,rightVoice)
+                        player.startPlayMusic(this@SuperListenActivity, rightVoice)
                     }
-                    PLAY_ERROR->{
+                    PLAY_ERROR -> {
                         errorPlaying = true
-                        player.startPlayMusic(this@SuperListenActivity,errorVoice)
+                        player.startPlayMusic(this@SuperListenActivity, errorVoice)
                     }
                 }
             }
         }
-        handler?.sendEmptyMessageDelayed(STUDY_TIME,1000)
+        handler?.sendEmptyMessageDelayed(STUDY_TIME, 1000)
     }
 
     private fun refreshUi() {
@@ -150,15 +167,15 @@
         tv_sort.visible()
         tv_exit.visible()
         tv_tip.text = "准备听题"
-        rv_list.layoutManager = GridLayoutManager(this,5)
         list.clear()
-        list.addAll(data?.subjectList?: arrayListOf())
+        list.addAll(data?.subjectList ?: arrayListOf())
+        initRecycler(list.size)
         voiceList.clear()
         voiceList.addAll(list.map { it.correct }) //声音顺序
-        Log.e(TAG,"声音顺序:${voiceList.joinToString(",,,") { it }}")
+        Log.e(TAG, "声音顺序:${voiceList.joinToString(",,,") { it }}")
         list.shuffle() //图片随机顺序
         rv_list.adapter = adapter
-        Log.e(TAG,"图片打乱后顺序:${list.joinToString(",,,") { it.name }}")
+        Log.e(TAG, "图片打乱后顺序:${list.joinToString(",,,") { it.name }}")
         TIME = data!!.data.time.toInt()
         val countdownDialog = CountdownDialog()
         countdownDialog.callback = object :StringCallback{
@@ -167,18 +184,45 @@
                 startGame()
             }
         }
-        countdownDialog.show(supportFragmentManager,"timer")
+        countdownDialog.show(supportFragmentManager, "timer")
+    }
+
+    /**
+     * 需要计算行列数
+     */
+    private fun initRecycler(total: Int){
+        var bestRows = 1
+        var bestColumns: Int = total
+        var i = 1
+        while (i <= sqrt(total.toDouble())) {
+            val rows = i
+            val columns: Int = if (total%i>0) (total / i)+1 else total / i
+            // Calculate the absolute difference between rows and columns
+            val diff = abs(rows - columns)
+            // Update the best rows and columns if this pair has a smaller difference
+            if (diff < abs(bestRows - bestColumns)) {
+                bestRows = rows
+                bestColumns = columns
+            }
+            i++
+        }
+        Log.e(TAG,"总数:$total,计算得到行数:${min(bestColumns,bestRows)},列数:${max(bestColumns,bestRows)}")
+        val lineHeight = rv_list.height.toDouble() / min(bestColumns, bestRows)
+        Log.e(TAG,"高度:${rv_list.height},计算得到行高:${lineHeight}")
+        rv_list.layoutManager = GridLayoutManager(this, max(bestColumns,bestRows))
+        adapter.height = lineHeight.toInt()
+        adapter.notifyDataSetChanged()
     }
 
     fun startGame() {
         if (index < voiceList.size){
-            Log.e(TAG,"开始答题:index=${index}")
+            Log.e(TAG, "开始答题:index=${index}")
             tv_sort.text = (index+1).toString()
             handler?.removeMessages(COUNT_DOWN)
             countTime = TIME //重置答题时间
             tv_tip.text = "准备听题"
             state = 0
-            handler?.sendEmptyMessageDelayed(PLAY_VOICE,if (index == 0) 200 else 3000)
+            handler?.sendEmptyMessageDelayed(PLAY_VOICE, if (index == 0) 200 else 3000)
         }else{
             tv_sort.visibility = View.INVISIBLE
             tv_tip.text = ""
@@ -202,7 +246,7 @@
         if (!data!!.subjectList[data!!.subjectList.map { it.correct }.indexOf(voiceList[index])].completed){//首次播放
             state = 1
             tv_tip.text = "请在${countTime}s内选择答案!"
-            handler?.sendEmptyMessageDelayed(COUNT_DOWN,1000)
+            handler?.sendEmptyMessageDelayed(COUNT_DOWN, 1000)
         }
         iv1.gone()
         iv2.gone()
@@ -222,14 +266,15 @@
             errorPlaying = false
         if (rightPlaying){
             rightPlaying = false
-            val subject = data!!.subjectList[data!!.subjectList.map { it.correct }.indexOf(voiceList[index])] //当前音频对应题目
+            val subject = data!!.subjectList[data!!.subjectList.map { it.correct }
+                .indexOf(voiceList[index])] //当前音频对应题目
             subject.completed = true
             handler?.sendEmptyMessage(PLAY_VOICE)
         }
     }
 
     override fun onBackPressed() {
-        HttpManager.exitGameOrStory(time).request(this){_,_->
+        HttpManager.exitGameOrStory(time).request(this){ _, _->
             super.onBackPressed()
         }
     }
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..69b3e76 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,7 @@
 import android.view.View
 import android.widget.ImageView
 import androidx.constraintlayout.motion.widget.MotionLayout
+import androidx.constraintlayout.widget.ConstraintLayout
 import cn.sinata.xldutils.adapter.HFRecyclerAdapter
 import cn.sinata.xldutils.adapter.util.ViewHolder
 import com.dollearn.student.R
@@ -16,10 +17,13 @@
 import com.facebook.drawee.view.SimpleDraweeView
 import kotlinx.android.synthetic.main.fragment_listen.*
 import org.greenrobot.eventbus.EventBus
+import org.jetbrains.anko.dip
 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 motion = holder.bind<MotionLayout>(R.id.motion)
@@ -29,7 +33,9 @@
         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
diff --git a/app/src/main/java/com/dollearn/student/ui/shop/ExchangeActivity.kt b/app/src/main/java/com/dollearn/student/ui/shop/ExchangeActivity.kt
index 99c69e1..c6e0155 100644
--- a/app/src/main/java/com/dollearn/student/ui/shop/ExchangeActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/shop/ExchangeActivity.kt
@@ -2,6 +2,7 @@
 
 import android.content.Intent
 import androidx.core.os.bundleOf
+import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.utils.myToast
 import cn.sinata.xldutils.visible
 import com.dollearn.student.R
@@ -13,7 +14,6 @@
 import com.dollearn.student.ui.TransparentStatusBarActivity
 import com.dollearn.student.ui.home.PayResultActivity
 import com.dollearn.student.ui.mine.AddressManageActivity
-import com.dollearn.student.ui.mine.ChangeAddressActivity
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.activity_exchange.*
@@ -110,6 +110,7 @@
                 if (!recipient?.id.isNullOrEmpty()) {
                     tv_address.text = recipient?.province+recipient?.city+recipient?.address
                     tv_user.text = "%s | %s".format(recipient?.recipient,recipient?.recipientPhone)
+                    tv_empty.gone()
                 }
             }else{
                 HttpManager.getOrderAddress().request(this){_,data->
diff --git a/app/src/main/java/com/dollearn/student/utils/RealNameFilter.kt b/app/src/main/java/com/dollearn/student/utils/RealNameFilter.kt
deleted file mode 100644
index 1a08332..0000000
--- a/app/src/main/java/com/dollearn/student/utils/RealNameFilter.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.dollearn.student.utils
-
-import android.text.InputFilter
-import android.text.Spanned
-import java.util.regex.Pattern
-
-class RealNameFilter:InputFilter {
-    override fun filter(
-        source: CharSequence?,
-        start: Int,
-        end: Int,
-        dest: Spanned?,
-        dstart: Int,
-        dend: Int
-    ): CharSequence? {
-        val p = Pattern.compile(
-            "^([\\u4e00-\\u9fa5]{1,20}|[a-zA-Z\\s]{1,20})\$",
-            Pattern.UNICODE_CASE or Pattern.CASE_INSENSITIVE
-        )
-        val m = p.matcher(source.toString())
-        if (!m.find()) return ""
-        return null
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_schedul.xml b/app/src/main/res/layout/activity_schedul.xml
index 481317e..f6ba76d 100644
--- a/app/src/main/res/layout/activity_schedul.xml
+++ b/app/src/main/res/layout/activity_schedul.xml
@@ -126,7 +126,7 @@
             app:tl_textUnselectColor="@color/textColor"/>
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-    <androidx.viewpager.widget.ViewPager
+    <com.dollearn.student.views.NoScrollViewPager
         android:id="@+id/view_pager"
         android:layout_width="0dp"
         android:layout_height="0dp"
diff --git a/app/src/main/res/layout/activity_super_listen.xml b/app/src/main/res/layout/activity_super_listen.xml
index db54547..5606ae0 100644
--- a/app/src/main/res/layout/activity_super_listen.xml
+++ b/app/src/main/res/layout/activity_super_listen.xml
@@ -43,7 +43,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintEnd_toStartOf="@id/iv2"
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"/>
             <ImageView
                 android:id="@+id/iv2"
                 android:layout_width="wrap_content"
@@ -51,8 +53,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing"
                 android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_choose_voice.xml b/app/src/main/res/layout/fragment_choose_voice.xml
index a5fcc65..b4b7129 100644
--- a/app/src/main/res/layout/fragment_choose_voice.xml
+++ b/app/src/main/res/layout/fragment_choose_voice.xml
@@ -62,8 +62,10 @@
                 android:src="@mipmap/yuyin"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintHorizontal_chainStyle="packed"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                android:layout_marginEnd="52dp"
+                app:layout_constraintEnd_toStartOf="@id/iv2_1_end"/>
             <ImageView
                 android:id="@+id/iv2_1_end"
                 android:layout_width="wrap_content"
@@ -71,8 +73,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_1_end"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing_1_end"
                 android:layout_width="wrap_content"
@@ -134,9 +136,11 @@
                 android:layout_height="wrap_content"
                 android:src="@mipmap/yuyin"
                 app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintEnd_toStartOf="@id/iv2_2_end"/>
             <ImageView
                 android:id="@+id/iv2_2_end"
                 android:layout_width="wrap_content"
@@ -144,8 +148,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_2_end"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing_2_end"
                 android:layout_width="wrap_content"
@@ -209,7 +213,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"
+                app:layout_constraintEnd_toStartOf="@id/iv2_3_end"/>
             <ImageView
                 android:id="@+id/iv2_3_end"
                 android:layout_width="wrap_content"
@@ -217,8 +223,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_3_end"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing_3_end"
                 android:layout_width="wrap_content"
@@ -281,7 +287,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintHorizontal_chainStyle="packed"
+                app:layout_constraintEnd_toStartOf="@id/iv2_4_end"
+                android:layout_marginEnd="52dp"/>
             <ImageView
                 android:id="@+id/iv2_4_end"
                 android:layout_width="wrap_content"
@@ -289,8 +297,9 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toEndOf="@id/iv1_4_end"
                 app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                />
             <ImageView
                 android:id="@+id/iv_playing_4_end"
                 android:layout_width="wrap_content"
@@ -306,7 +315,8 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-    <RelativeLayout
+
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_2"
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -315,13 +325,37 @@
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
         android:background="@drawable/bg_blue_8dp">
+
+        <ImageView
+            android:id="@+id/iv1_2s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/yuyin"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/iv2_2s"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
+        <ImageView
+            android:id="@+id/iv2_2s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/play"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@id/iv1_2s"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_s_2"
             android:layout_width="32dp"
             android:layout_height="32dp"
             android:src="@mipmap/successs"
-            android:layout_centerInParent="true"/>
-    </RelativeLayout>
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="159dp"
@@ -341,7 +375,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintHorizontal_chainStyle="packed"
+            app:layout_constraintEnd_toStartOf="@id/iv2_2"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_2"
             android:layout_width="wrap_content"
@@ -349,8 +385,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_2"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_2"
             android:layout_width="wrap_content"
@@ -375,7 +411,7 @@
 
 
 
-    <RelativeLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_1"
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -385,12 +421,35 @@
         android:layout_marginTop="24dp"
         android:background="@drawable/bg_blue_8dp">
         <ImageView
+            android:id="@+id/iv1_1s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/yuyin"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/iv2_1s"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
+        <ImageView
+            android:id="@+id/iv2_1s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/play"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@id/iv1_1s"
+            app:layout_constraintEnd_toEndOf="parent"/>
+        <ImageView
             android:id="@+id/iv_s_1"
             android:layout_width="32dp"
             android:layout_height="32dp"
             android:src="@mipmap/successs"
-            android:layout_centerInParent="true"/>
-    </RelativeLayout>
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -408,7 +467,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_1"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_1"
             android:layout_width="wrap_content"
@@ -416,8 +477,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_1"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_1"
             android:layout_width="wrap_content"
@@ -441,7 +502,7 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 
-    <RelativeLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_3"
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -451,12 +512,35 @@
         android:layout_marginTop="24dp"
         android:background="@drawable/bg_blue_8dp">
         <ImageView
+            android:id="@+id/iv1_3s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/yuyin"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/iv2_3s"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
+        <ImageView
+            android:id="@+id/iv2_3s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/play"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@id/iv1_3s"
+            app:layout_constraintEnd_toEndOf="parent"/>
+        <ImageView
             android:id="@+id/iv_s_3"
             android:layout_width="32dp"
             android:layout_height="32dp"
             android:src="@mipmap/successs"
-            android:layout_centerInParent="true"/>
-    </RelativeLayout>
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="159dp"
@@ -475,7 +559,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_3"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_3"
             android:layout_width="wrap_content"
@@ -483,8 +569,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_3"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_3"
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_include.xml b/app/src/main/res/layout/fragment_include.xml
index b0eaf13..6f9ee32 100644
--- a/app/src/main/res/layout/fragment_include.xml
+++ b/app/src/main/res/layout/fragment_include.xml
@@ -18,10 +18,10 @@
         android:background="@drawable/bg_white_8dp"
         app:layout_constraintTop_toBottomOf="@id/cl_voice1"
         app:layout_constraintBottom_toTopOf="@id/cl_4"
-        android:layout_marginBottom="145dp"
+        android:layout_marginBottom="140dp"
+        app:layout_constraintDimensionRatio="3:2"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toStartOf="@id/cl_2"
-        android:layout_marginStart="50dp"
         android:layout_marginEnd="10dp">
 
         <com.facebook.drawee.view.SimpleDraweeView
@@ -63,8 +63,7 @@
         app:layout_constraintTop_toTopOf="@id/cl_1"
         app:layout_constraintBottom_toBottomOf="@id/cl_1"
         app:layout_constraintStart_toEndOf="@id/cl_2"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="50dp">
+        app:layout_constraintEnd_toEndOf="parent">
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/fragment_listen.xml b/app/src/main/res/layout/fragment_listen.xml
index 092bff8..5f7972d 100644
--- a/app/src/main/res/layout/fragment_listen.xml
+++ b/app/src/main/res/layout/fragment_listen.xml
@@ -150,6 +150,12 @@
         android:elevation="2dp"
         android:id="@+id/cl_voice"
         android:background="@drawable/bg_blue_8dp">
+        <androidx.constraintlayout.widget.Guideline
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/center_v"
+            android:orientation="vertical"
+            app:layout_constraintGuide_percent="0.5"/>
         <ImageView
             android:id="@+id/iv1"
             android:layout_width="wrap_content"
@@ -157,8 +163,8 @@
             android:src="@mipmap/yuyin"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/center_v"
+            android:layout_marginEnd="25dp"/>
         <ImageView
             android:id="@+id/iv2"
             android:layout_width="wrap_content"
@@ -166,8 +172,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/center_v"
+            android:layout_marginStart="25dp"/>
         <ImageView
             android:id="@+id/iv_playing"
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_match.xml b/app/src/main/res/layout/fragment_match.xml
index 94a1415..9e2f596 100644
--- a/app/src/main/res/layout/fragment_match.xml
+++ b/app/src/main/res/layout/fragment_match.xml
@@ -91,7 +91,7 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_1"
-            android:background="@drawable/bg_blue_8dp"
+            android:background="@color/colorPrimary"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
@@ -102,7 +102,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintEnd_toStartOf="@id/iv2_1_end"
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"/>
             <ImageView
                 android:id="@+id/iv2_1_end"
                 android:layout_width="wrap_content"
@@ -110,8 +112,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_1_end"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing_1_end"
                 android:layout_width="wrap_content"
@@ -167,7 +169,7 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_2"
-            android:background="@drawable/bg_blue_8dp"
+            android:background="@color/colorPrimary"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
@@ -178,7 +180,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintEnd_toStartOf="@id/iv2_2_end"
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"/>
             <ImageView
                 android:id="@+id/iv2_2_end"
                 android:layout_width="wrap_content"
@@ -186,8 +190,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_2_end"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing_2_end"
                 android:layout_width="wrap_content"
@@ -251,7 +255,7 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_3"
-            android:background="@drawable/bg_blue_8dp"
+            android:background="@color/colorPrimary"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
@@ -262,7 +266,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintEnd_toStartOf="@id/iv2_3_end"
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"/>
             <ImageView
                 android:id="@+id/iv2_3_end"
                 android:layout_width="wrap_content"
@@ -270,8 +276,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_3_end"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing_3_end"
                 android:layout_width="wrap_content"
@@ -330,7 +336,7 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_4"
-            android:background="@drawable/bg_blue_8dp"
+            android:background="@color/colorPrimary"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
@@ -341,7 +347,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintEnd_toStartOf="@id/iv2_4_end"
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"/>
             <ImageView
                 android:id="@+id/iv2_4_end"
                 android:layout_width="wrap_content"
@@ -349,8 +357,8 @@
                 android:src="@mipmap/play"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_4_end"
+                app:layout_constraintEnd_toEndOf="parent"/>
             <ImageView
                 android:id="@+id/iv_playing_4_end"
                 android:layout_width="wrap_content"
@@ -370,7 +378,6 @@
         android:layout_width="159dp"
         android:layout_height="52dp"
         app:layout_constraintTop_toTopOf="parent"
-        
         android:id="@+id/cl_voice_1"
         app:layout_constraintStart_toStartOf="@id/line1"
         app:layout_constraintEnd_toEndOf="@id/line1"
@@ -384,7 +391,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_1"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_1"
             android:layout_width="wrap_content"
@@ -392,8 +401,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_1"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_1"
             android:layout_width="wrap_content"
@@ -422,7 +431,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_2"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_2"
             android:layout_width="wrap_content"
@@ -430,8 +441,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_2"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_2"
             android:layout_width="wrap_content"
@@ -447,7 +458,6 @@
         android:layout_width="159dp"
         android:layout_height="52dp"
         app:layout_constraintTop_toTopOf="parent"
-        
         android:id="@+id/cl_voice_3"
         app:layout_constraintStart_toStartOf="@id/line3"
         app:layout_constraintEnd_toEndOf="@id/line3"
@@ -461,7 +471,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_3"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_3"
             android:layout_width="wrap_content"
@@ -469,8 +481,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_3"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_3"
             android:layout_width="wrap_content"
@@ -500,7 +512,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_4"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_4"
             android:layout_width="wrap_content"
@@ -508,8 +522,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_4"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_4"
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragmetn_look_img.xml b/app/src/main/res/layout/fragmetn_look_img.xml
index 6bf469b..cf42bf3 100644
--- a/app/src/main/res/layout/fragmetn_look_img.xml
+++ b/app/src/main/res/layout/fragmetn_look_img.xml
@@ -30,7 +30,7 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-    <RelativeLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_2"
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -39,13 +39,37 @@
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
         android:background="@drawable/bg_blue_8dp">
+
+        <ImageView
+            android:id="@+id/iv1_2s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/yuyin"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/iv2_2s"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
+        <ImageView
+            android:id="@+id/iv2_2s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/play"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@id/iv1_2s"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_s_2"
             android:layout_width="32dp"
             android:layout_height="32dp"
             android:src="@mipmap/successs"
-            android:layout_centerInParent="true"/>
-    </RelativeLayout>
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="159dp"
@@ -65,7 +89,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_2"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_2"
             android:layout_width="wrap_content"
@@ -73,8 +99,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_2"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_2"
             android:layout_width="wrap_content"
@@ -99,7 +125,7 @@
 
 
 
-    <RelativeLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_1"
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -109,12 +135,35 @@
         android:layout_marginTop="24dp"
         android:background="@drawable/bg_blue_8dp">
         <ImageView
+            android:id="@+id/iv1_1s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/yuyin"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/iv2_1s"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
+        <ImageView
+            android:id="@+id/iv2_1s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/play"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@id/iv1_1s"
+            app:layout_constraintEnd_toEndOf="parent"/>
+        <ImageView
             android:id="@+id/iv_s_1"
             android:layout_width="32dp"
             android:layout_height="32dp"
             android:src="@mipmap/successs"
-            android:layout_centerInParent="true"/>
-    </RelativeLayout>
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -132,7 +181,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_1"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_1"
             android:layout_width="wrap_content"
@@ -140,8 +191,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_1"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_1"
             android:layout_width="wrap_content"
@@ -165,7 +216,7 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 
-    <RelativeLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_3"
         android:layout_width="159dp"
         android:layout_height="52dp"
@@ -175,12 +226,35 @@
         android:layout_marginTop="24dp"
         android:background="@drawable/bg_blue_8dp">
         <ImageView
+            android:id="@+id/iv1_3s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/yuyin"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/iv2_3s"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
+        <ImageView
+            android:id="@+id/iv2_3s"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/play"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@id/iv1_3s"
+            app:layout_constraintEnd_toEndOf="parent"/>
+        <ImageView
             android:id="@+id/iv_s_3"
             android:layout_width="32dp"
             android:layout_height="32dp"
             android:src="@mipmap/successs"
-            android:layout_centerInParent="true"/>
-    </RelativeLayout>
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="159dp"
@@ -199,7 +273,9 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
+            app:layout_constraintEnd_toStartOf="@id/iv2_3"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            android:layout_marginEnd="52dp"/>
         <ImageView
             android:id="@+id/iv2_3"
             android:layout_width="wrap_content"
@@ -207,8 +283,8 @@
             android:src="@mipmap/play"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
+            app:layout_constraintStart_toEndOf="@id/iv1_3"
+            app:layout_constraintEnd_toEndOf="parent"/>
         <ImageView
             android:id="@+id/iv_playing_3"
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/item_exchange_record.xml b/app/src/main/res/layout/item_exchange_record.xml
index ee5f66a..8c10def 100644
--- a/app/src/main/res/layout/item_exchange_record.xml
+++ b/app/src/main/res/layout/item_exchange_record.xml
@@ -79,7 +79,8 @@
             android:textStyle="bold"
             android:textColor="@color/textColor"/>
         <TextView
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
+            app:layout_constraintEnd_toEndOf="@id/tv_action"
             android:layout_height="wrap_content"
             android:id="@+id/tv_receiver"
             app:layout_constraintTop_toBottomOf="@id/tv_count"
diff --git a/app/src/main/res/layout/item_game_1.xml b/app/src/main/res/layout/item_game_1.xml
index d542c70..37dabc4 100644
--- a/app/src/main/res/layout/item_game_1.xml
+++ b/app/src/main/res/layout/item_game_1.xml
@@ -5,7 +5,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
     <androidx.constraintlayout.motion.widget.MotionLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_height="100dp"
         android:id="@+id/motion"
         android:layout_marginHorizontal="3dp"
         app:layout_constraintTop_toTopOf="parent"
@@ -14,19 +14,12 @@
         android:padding="4dp"
         android:background="@drawable/bg_white_8dp"
         app:layoutDescription="@xml/item_game_1_scene">
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="40dp"
-            android:background="@color/page_bg"
-            android:id="@+id/top_1"
-            app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
-            android:layout_height="0dp"
+            android:layout_height="match_parent"
             app:layout_constraintTop_toBottomOf="@id/top_1"
             android:id="@+id/iv_img"
-            app:actualImageScaleType="centerCrop"
-            app:layout_constraintDimensionRatio="3:2"/>
+            app:actualImageScaleType="centerCrop"/>
         <ImageView
             android:id="@+id/iv_full"
             android:layout_width="wrap_content"
@@ -40,18 +33,35 @@
             android:layout_height="wrap_content"
             android:id="@+id/result_1"/>
     </androidx.constraintlayout.motion.widget.MotionLayout>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1px"
+        android:id="@+id/line"
+        app:layout_constraintTop_toTopOf="@id/motion"
+        app:layout_constraintVertical_bias="0.33"
+        app:layout_constraintBottom_toBottomOf="@id/motion"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:background="@color/page_bg"
+        android:id="@+id/top_1"
+        android:layout_marginHorizontal="7dp"
+        android:layout_marginTop="3dp"
+        android:maxHeight="40dp"
+        app:layout_constraintTop_toTopOf="@id/motion"
+        app:layout_constraintBottom_toTopOf="@id/line"/>
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="0dp"
-        android:layout_height="40dp"
-        app:layout_constraintStart_toStartOf="@id/motion"
-        app:layout_constraintEnd_toEndOf="@id/motion"
-        app:layout_constraintTop_toTopOf="@id/motion"
-        android:layout_margin="4dp"
+        android:layout_height="0dp"
+        app:layout_constraintStart_toStartOf="@id/top_1"
+        app:layout_constraintEnd_toEndOf="@id/top_1"
+        app:layout_constraintTop_toTopOf="@id/top_1"
+        app:layout_constraintBottom_toBottomOf="@id/top_1"
         android:id="@+id/cl_voice_end">
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_1"
-            android:background="@drawable/bg_blue_8dp"
+            android:background="@color/colorPrimary"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
@@ -62,7 +72,9 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
+                app:layout_constraintEnd_toStartOf="@id/iv2_1_end"
+                app:layout_constraintHorizontal_chainStyle="packed"
+                android:layout_marginEnd="52dp"/>
             <ImageView
                 android:id="@+id/iv2_1_end"
                 android:layout_width="wrap_content"
@@ -71,7 +83,7 @@
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
+                app:layout_constraintStart_toEndOf="@id/iv1_1_end"/>
             <ImageView
                 android:id="@+id/iv_playing_1_end"
                 android:layout_width="wrap_content"
diff --git a/app/src/main/res/xml/item_game_1_scene.xml b/app/src/main/res/xml/item_game_1_scene.xml
index 5f528c7..8666633 100644
--- a/app/src/main/res/xml/item_game_1_scene.xml
+++ b/app/src/main/res/xml/item_game_1_scene.xml
@@ -46,6 +46,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/iv_img"
             motion:layout_constraintTop_toTopOf="@+id/iv_img"
             motion:layout_constraintBottom_toBottomOf="@+id/iv_img"
+            motion:layout_constraintVertical_bias="0.6"
             android:layout_width="50dp"
             android:layout_height="50dp"/>
     </ConstraintSet>
@@ -57,6 +58,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/iv_img"
             motion:layout_constraintTop_toTopOf="@+id/iv_img"
             motion:layout_constraintBottom_toBottomOf="@+id/iv_img"
+            motion:layout_constraintVertical_bias="0.6"
             android:layout_width="50dp"
             android:layout_height="50dp"/>
     </ConstraintSet>
diff --git a/app/src/main/res/xml/scene_fragment_match.xml b/app/src/main/res/xml/scene_fragment_match.xml
index b7de0be..8971665 100644
--- a/app/src/main/res/xml/scene_fragment_match.xml
+++ b/app/src/main/res/xml/scene_fragment_match.xml
@@ -36,17 +36,6 @@
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/end">
-<!--        <Constraint android:id="@+id/cl_1"-->
-<!--            android:layout_marginTop="103dp"-->
-<!--            android:layout_width="0dp"-->
-<!--            android:layout_height="0dp"-->
-<!--            motion:layout_constraintTop_toTopOf="parent"/>-->
-<!--        <Constraint android:id="@+id/cl_3"-->
-<!--            android:layout_marginTop="108dp"-->
-<!--            android:layout_width="0dp"-->
-<!--            android:layout_height="0dp"-->
-<!--            motion:layout_constraintBottom_toBottomOf="parent"-->
-<!--            android:layout_marginBottom="3dp"/>-->
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/start_1">

--
Gitblit v1.7.1