From 9904e5f900ba751c1fe719cdf889f00e9f1418e8 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 21 五月 2025 14:14:04 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/dollearn/student/network/entity/ReqRestart.kt    |    7 
 app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt        |    5 
 app/src/main/res/mipmap-xxhdpi/bofangzhong_2.png                       |    0 
 app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt       |   16 
 app/src/main/java/com/dollearn/student/utils/Const.kt                  |    2 
 app/src/main/res/mipmap-xxhdpi/voice_question_2.png                    |    0 
 app/src/main/res/drawable/bg_orange_8dp.xml                            |    5 
 app/src/main/res/values/colors.xml                                     |    1 
 app/src/main/res/mipmap-xxhdpi/play_2.png                              |    0 
 app/src/main/res/drawable/bg_white_8dp_padding.xml                     |    9 
 app/src/main/java/com/dollearn/student/network/Apis.kt                 |    6 
 app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt        |   57 +
 app/src/main/java/com/dollearn/student/ui/home/IncludeFragment.kt      |   50 +
 app/src/main/res/layout/activity_listen.xml                            |   24 
 build.gradle                                                           |    6 
 app/src/main/res/layout/fragment_choose_voice.xml                      |  133 +--
 app/src/main/res/xml/scene_fragment_choose_voice.xml                   |   36 
 app/src/main/res/drawable/selector_bg_white_grey.xml                   |    5 
 app/src/main/res/xml/scene_fragment_listen_voice.xml                   |    4 
 xldutils-kotlin/src/main/res/values/colors.xml                         |    2 
 app/src/main/java/com/dollearn/student/network/HttpManager.kt          |   14 
 app/src/main/res/layout/fragment_q_a.xml                               |  334 +++++----
 app/src/main/res/layout/fragment_listen.xml                            |   20 
 app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt      |   92 ++
 app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt  |   65 +
 app/src/main/java/com/dollearn/student/ui/home/LookImgFragment.kt      |    2 
 app/src/main/java/com/dollearn/student/ui/home/QAActivity.kt           |   57 +
 app/src/main/res/drawable/selector_bg_voice.xml                        |    4 
 app/src/main/res/layout/item_index.xml                                 |   21 
 app/src/main/java/com/dollearn/student/network/entity/SubjectBean.kt   |   10 
 app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceFragment.kt  |   58 +
 app/src/main/res/layout/fragment_match.xml                             |  129 +-
 app/src/main/java/com/dollearn/student/network/ApiService.kt           |    6 
 app/src/main/res/mipmap-xxhdpi/voice_answer_2.png                      |    0 
 app/src/main/res/layout/fragment_include.xml                           |  642 +++++++++---------
 app/src/main/java/com/dollearn/student/ui/home/QAFragment.kt           |   83 +
 app/src/main/res/xml/fragment_include_scene.xml                        |   30 
 app/src/main/res/layout/activity_login.xml                             |    4 
 app/src/main/res/mipmap-xxhdpi/yuyin_2.png                             |    0 
 app/src/main/java/com/dollearn/student/ui/home/adapter/IndexAdapter.kt |   17 
 app/src/main/res/drawable/bg_grey_2dp.xml                              |    5 
 app/src/main/java/com/dollearn/student/ui/home/ListenActivity.kt       |   70 +
 app/src/main/res/drawable/selector_enable_choose.xml                   |    2 
 43 files changed, 1,245 insertions(+), 788 deletions(-)

diff --git a/app/src/main/java/com/dollearn/student/network/ApiService.kt b/app/src/main/java/com/dollearn/student/network/ApiService.kt
index c720c83..0662d78 100644
--- a/app/src/main/java/com/dollearn/student/network/ApiService.kt
+++ b/app/src/main/java/com/dollearn/student/network/ApiService.kt
@@ -82,6 +82,12 @@
     @GET(Apis.userGameDifficulty)
     fun userGameDifficulty(@Query("week") week: Int): Flowable<ResultData<Int?>>
 
+    @POST(Apis.restart)
+    fun restart(@Body body : String): Flowable<ResultData<Any>>
+
+    @POST(Apis.answerQuestion)
+    fun answerQuestion(@Body body : String): Flowable<ResultData<Any>>
+
     @GET(Apis.getIsOpen)
     fun getIsOpen(): Flowable<ResultData<Boolean>>
 
diff --git a/app/src/main/java/com/dollearn/student/network/Apis.kt b/app/src/main/java/com/dollearn/student/network/Apis.kt
index b9f99f6..7ce8473 100644
--- a/app/src/main/java/com/dollearn/student/network/Apis.kt
+++ b/app/src/main/java/com/dollearn/student/network/Apis.kt
@@ -3,8 +3,8 @@
 object Apis {
     private var isTest = true
 
-    private const val TEST_URL = "http://192.168.110.64:9000/" //周帅内网
-//    private const val TEST_URL = "http://1.95.15.237:9000/" //外网
+    private const val TEST_URL = "http://vwpmxwbhv59i.guyubao.com/" //周帅内网
+//    private const val TEST_URL = "https://dollearn.com/api/" //外网
     private const val LINE_URL = "http://8.137.22.229:56666/" //正式服
     val BASE_URL = if (isTest) TEST_URL else LINE_URL
 
@@ -52,6 +52,8 @@
     const val gameAchievement = "study/base/study/gameAchievement"
     const val userGameDifficulty = "study/base/study/userGameDifficulty"
     const val getIsOpen = "management/tSysSet/getIsOpen"
+    const val restart = "study/base/study/restart"
+    const val answerQuestion = "study/base/study/answerQuestion"
 
 
     /**
diff --git a/app/src/main/java/com/dollearn/student/network/HttpManager.kt b/app/src/main/java/com/dollearn/student/network/HttpManager.kt
index e0ad5e6..c434a3c 100644
--- a/app/src/main/java/com/dollearn/student/network/HttpManager.kt
+++ b/app/src/main/java/com/dollearn/student/network/HttpManager.kt
@@ -126,6 +126,20 @@
     }
 
     /**
+     * 重新开始答题
+     */
+    fun restart(day: Int,week: Int,type: Int): Flowable<ResultData<Any>> {
+        return request().restart(Gson().toJson(ReqRestart(day,type,week)))
+    }
+
+    /**
+     * 保存当前题目记录
+     */
+    fun answerQuestion(sortBean: SortBean): Flowable<ResultData<Any>> {
+        return request().answerQuestion(Gson().toJson(sortBean))
+    }
+
+    /**
      * 完成学习
      */
     fun completeLearning(rate: Int,time: Int,day: Int,week: Int,season: Int,type: Int,teamIds:String): Flowable<ResultData<Int?>> {
diff --git a/app/src/main/java/com/dollearn/student/network/entity/ReqRestart.kt b/app/src/main/java/com/dollearn/student/network/entity/ReqRestart.kt
new file mode 100644
index 0000000..5bdaba8
--- /dev/null
+++ b/app/src/main/java/com/dollearn/student/network/entity/ReqRestart.kt
@@ -0,0 +1,7 @@
+package com.dollearn.student.network.entity
+
+data class ReqRestart(
+    val day: Int,
+    val type: Int,
+    val week: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/network/entity/SubjectBean.kt b/app/src/main/java/com/dollearn/student/network/entity/SubjectBean.kt
index 7b29149..abaa88b 100644
--- a/app/src/main/java/com/dollearn/student/network/entity/SubjectBean.kt
+++ b/app/src/main/java/com/dollearn/student/network/entity/SubjectBean.kt
@@ -5,8 +5,10 @@
 
 @Parcelize
 data class SubjectBean(
+    var accuracy: Double,
     val `data`: SubjectBeanData,
-    val subjectList: List<List<Subject>>
+    val subjectList: List<List<Subject>>,
+    val list:List<SortBean>
 ):Parcelable
 
 @Parcelize
@@ -29,4 +31,10 @@
     var right:Boolean = false, //回答正确
     var completed:Boolean = false, //已作答
     var listend:Boolean = false //已听音 归纳排除题需要
+):Parcelable
+
+@Parcelize
+data class SortBean(
+    val id: String?,
+    var status: Int //1灰色未答题 2绿色正确 3红色错误
 ):Parcelable
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt
index a1a188e..2b3efc5 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt
@@ -8,15 +8,17 @@
 import androidx.core.os.bundleOf
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentPagerAdapter
+import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.viewpager.widget.ViewPager
-import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.visible
 import com.dollearn.student.R
 import com.dollearn.student.dialog.TipDialog
 import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.SortBean
 import com.dollearn.student.network.entity.SubjectBean
 import com.dollearn.student.network.request
 import com.dollearn.student.ui.TransparentStatusBarActivity
+import com.dollearn.student.ui.home.adapter.IndexAdapter
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.activity_listen.*
@@ -35,27 +37,66 @@
         intent.getIntExtra("season",0)
     }
     val data by lazy { intent.getParcelableExtra<SubjectBean>("data") }
-    private val fragments    = arrayListOf<Fragment>()
+    val fragments    = arrayListOf<Fragment>()
 
     var totalCount = 0 //总答题次数
     var rightCount = 0 //正确答题次数
     var time = 0 //学习秒数
     private var handler: Handler? = null
 
+    val indexList = arrayListOf<SortBean>()
+    private val indexAdapter = IndexAdapter(indexList)
+
+    val vp by lazy { view_pager }
+    var recoverd = false  //true已经恢复了进度,后续语音可以自动播放
+
     override fun initClick() {
         tv_last.setOnClickListener {
-            (fragments[view_pager.currentItem-1] as ChooseVoiceFragment).recover()
-            view_pager.setCurrentItem(view_pager.currentItem-1,true)
-            if (view_pager.currentItem == 0)
-                tv_last.gone()
+            val tipDialog = TipDialog()
+            tipDialog.arguments = bundleOf("msg" to "是否重新开始答题?确认后将清空当前答题进度")
+            tipDialog.setCallback(object :TipDialog.OnClickCallback{
+                override fun onOk() {
+                    showDialog()
+                    HttpManager.restart(day,week,2).request(this@ChooseVoiceActivity){_,_->
+                        totalCount = 0 //总答题次数
+                        rightCount = 0 //正确答题次数
+                        time = 0 //学习秒数
+                        indexList.forEach { it.status = 1 }
+                        indexAdapter.notifyDataSetChanged()
+                        data?.accuracy = 0.0
+                        (fragments[0] as ChooseVoiceFragment).recover()
+                        view_pager.setCurrentItem(0,false)
+                    }
+                }
+
+                override fun onCancel() {
+                }
+            })
+            tipDialog.show(supportFragmentManager,"restart")
         }
 
         tv_exit.setOnClickListener {
             onBackPressed()
         }
+
+        indexAdapter.setOnItemClickListener { view, position ->
+            val sortBean = indexList[position]
+            if (position!=view_pager.currentItem&&(sortBean.status!=1||position == indexList.indexOf(indexList.first { it.status == 1 }))){
+                (fragments[position] as ChooseVoiceFragment).recover()
+                view_pager.setCurrentItem(position,false)
+            }
+        }
     }
 
     fun next(){
+        val listenFragment = fragments[view_pager.currentItem] as ChooseVoiceFragment
+        val sortBean = indexList[view_pager.currentItem]
+        sortBean.status = if (listenFragment.right) 2 else 3 //修改本地答题结果,并上传服务器
+        HttpManager.answerQuestion(sortBean).request(this){_,data->
+            //保存成功
+        }
+        val filter = indexList.filter { it.status != 1 }
+        data?.accuracy = filter.filter { it.status == 2 }.size.toDouble() / filter.size
         if (view_pager.currentItem == fragments.lastIndex){
             handler?.removeMessages(0)
             ResultActivity.startResult(this,day,week,season,2,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
@@ -65,14 +106,20 @@
                     (fragments[view_pager.currentItem+1] as ChooseVoiceFragment).recover()
                     view_pager.setCurrentItem(view_pager.currentItem+1,true)
                     tv_last.visible()
+                    indexAdapter.notifyDataSetChanged()
                 }
 
         }
     }
 
     override fun initView() {
+        rv_index.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false)
+        rv_index.adapter = indexAdapter
         data?.apply {
-            tv_progress.text = "已完成:1/${subjectList.size}"
+            tv_progress.text = "已完成:1/%d\n正确率:%.2f%s".format(subjectList.size,accuracy*100,"%")
+            indexList.clear()
+            indexList.addAll(list)
+            indexAdapter.notifyDataSetChanged()
             subjectList.forEachIndexed { index, subject ->
                 fragments.add(ChooseVoiceFragment.getInstance(index))
             }
@@ -100,7 +147,7 @@
                 }
 
                 override fun onPageSelected(position: Int) {
-                    tv_progress.text = "已完成:${position+1}/${fragments.size}"
+                    tv_progress.text = "已完成:%d/%d\n正确率:%.2f%s".format(position+1,fragments.size,accuracy*100,"%")
                 }
 
                 override fun onPageScrollStateChanged(state: Int) {
@@ -127,6 +174,8 @@
                 tv_last.visible()
             totalCount = data?.answerNumber?:0
             rightCount = data?.correctNumber?:0
+            EventBus.getDefault().post(EmptyEvent(Const.EventCode.RECOVERD))
+            recoverd = true
         }
     }
 
diff --git a/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceFragment.kt
index c898449..87021c0 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceFragment.kt
@@ -15,8 +15,11 @@
 import com.dollearn.student.R
 import com.dollearn.student.utils.AudioUtils
 import com.dollearn.student.utils.Const
+import com.dollearn.student.utils.event.EmptyEvent
 import com.dollearn.student.utils.extention.clickDelay
 import kotlinx.android.synthetic.main.fragment_choose_voice.*
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
 import org.jetbrains.anko.backgroundResource
 import org.jetbrains.anko.support.v4.toast
 
@@ -52,17 +55,24 @@
     private var playing = false //播放中,不能有任何操作
 
     private val nameViews by lazy { arrayListOf(tv_1,tv_2,tv_3,tv_4) }
+    private val bgs by lazy { arrayListOf(cl_1,cl_2,cl_3,cl_4) }
     private val endViews by lazy { arrayListOf(cl_voice_end_1,cl_voice_end_2,cl_voice_end_3,cl_voice_end_4) }
 
     private val act by lazy { (requireActivity() as ChooseVoiceActivity) }
 
     private var nowVoiceView:View? = null
 
-    private val isShowText by lazy { SPUtils.instance().getBoolean(Const.IS_SHOW_TEXT,true) }
+//    private val isShowText by lazy { SPUtils.instance().getBoolean(Const.IS_SHOW_TEXT,true) }
+    private val isShowText = false
+
+    private var isAutoPlaying = false //true 自动播放流程
+
+    var right = true //true进入下一题为全对,false 一旦答错过就置为false,此时进入下一题,本题算做错误
 
     override fun onFirstVisibleToUser() {
         player.setOnAudioStatusUpdateListener(this)
         player.stopPlayMusic()
+        EventBus.getDefault().register(this)
         handler = object : Handler(Looper.getMainLooper()){
             override fun handleMessage(msg: Message) {
                 super.handleMessage(msg)
@@ -92,8 +102,9 @@
             iv_3.setImageURI(originList[2].img)
             iv_4.setImageURI(originList[3].img)
         }
-        showSubImage()
         initClick()
+        showSubImage()
+
     }
 
     private fun initClick() {
@@ -130,6 +141,7 @@
                     nowVoiceView = cl_voice1
                     handler?.sendEmptyMessage(PLAY_RIGHT)
                 }else{
+                    right = false
                     handler?.sendEmptyMessage(PLAY_ERROR)
                     iv_error_1.visible()
                     dot_1.postDelayed({
@@ -245,12 +257,15 @@
         val shuffledList = list.shuffled()
         voiceList.clear()
         voiceList.addAll(shuffledList)
-        if (isShowText)
             nameViews.forEachIndexed { index, textView ->
                 if (index == currentIndex){
-                    textView.text = originList[index].name
-                    textView.backgroundResource = R.color.textColor99
+                    bgs[index].backgroundResource = R.drawable.bg_orange_8dp
+                    if (isShowText){
+                        textView.text = originList[index].name
+                        textView.backgroundResource = R.color.textColor99
+                    }
                 }else{
+                    bgs[index].backgroundResource = R.drawable.bg_white_8dp_padding
                     textView.text = ""
                     textView.backgroundResource = R.color.page_bg
                 }
@@ -300,11 +315,28 @@
 
             override fun onTransitionCompleted(p0: MotionLayout?, p1: Int) {
                 endViews[currentIndex].visible()
+
             }
 
             override fun onTransitionTrigger(p0: MotionLayout?, p1: Int, p2: Boolean, p3: Float) {
             }
         })
+
+        if (act.fragments[act.vp.currentItem] == this&&act.recoverd){ //自动播放
+            isAutoPlaying = true
+            cl_voice1.callOnClick()
+        }
+
+    }
+
+    @Subscribe
+    fun onEvent(e:EmptyEvent){
+        if (e.code == Const.EventCode.RECOVERD){
+            if (act.fragments[act.vp.currentItem] == this){ //自动播放
+                isAutoPlaying = true
+                cl_voice1.callOnClick()
+            }
+        }
     }
 
     /**
@@ -312,6 +344,7 @@
      */
     fun recover(){
         Log.e(TAG,"回到上一题,恢复答题前的状态")
+        right = true
         motion.progress = 0f
         currentIndex = 0
         endViews.forEach { it.gone() }
@@ -386,18 +419,22 @@
             iv1_1.visible()
             iv2_1.visible()
             iv_playing_1.gone()
-        }
-        if (voiceIndex == 1){
+            if (isAutoPlaying)
+                cl_voice2.callOnClick()
+        }else if (voiceIndex == 1){
             rl_check_2.visible()
             iv1_2.visible()
             iv2_2.visible()
             iv_playing_2.gone()
-        }
-        if (voiceIndex == 2){
+            if (isAutoPlaying)
+                cl_voice3.callOnClick()
+        }else if (voiceIndex == 2){
             rl_check_3.visible()
             iv1_3.visible()
             iv2_3.visible()
             iv_playing_3.gone()
+            if (isAutoPlaying)
+                isAutoPlaying = false
         }
         if (voiceIndex == 3){
             iv1_1_end.visible()
@@ -423,7 +460,7 @@
         if (data!!.subjectList[group][currentIndex].completed){ //本题已答对
             Log.e(TAG,"选对答案后的播放结束3秒后进入下一图")
             if (currentIndex == 3){
-                handler?.sendEmptyMessageDelayed(TO_NEXT,3000)
+                handler?.sendEmptyMessageDelayed(TO_NEXT,500)//万俊杰:缩短为0.5秒
             }else{
                 currentIndex++
                 showSubImage()
@@ -446,6 +483,7 @@
 
     override fun onDestroy() {
         super.onDestroy()
+        EventBus.getDefault().unregister(this)
         handler?.removeCallbacksAndMessages(null)
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt
index e8abb61..fec15a7 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt
@@ -8,16 +8,19 @@
 import androidx.core.os.bundleOf
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentPagerAdapter
+import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.viewpager.widget.ViewPager
 import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.visible
 import com.dollearn.student.R
 import com.dollearn.student.dialog.TipDialog
 import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.SortBean
 import com.dollearn.student.network.entity.Subject
 import com.dollearn.student.network.entity.SubjectBean
 import com.dollearn.student.network.request
 import com.dollearn.student.ui.TransparentStatusBarActivity
+import com.dollearn.student.ui.home.adapter.IndexAdapter
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.activity_listen.*
@@ -43,37 +46,96 @@
     var time = 0 //学习秒数
     private var handler:Handler? = null
 
+    val indexList = arrayListOf<SortBean>()
+    private val indexAdapter = IndexAdapter(indexList)
+
     override fun initClick() {
         tv_last.setOnClickListener {
-            (fragments[view_pager.currentItem-1] as IncludeFragment).recover()
-            view_pager.setCurrentItem(view_pager.currentItem-1,true)
-            if (view_pager.currentItem == 0)
-                tv_last.gone()
+            val tipDialog = TipDialog()
+            tipDialog.arguments = bundleOf("msg" to "是否重新开始答题?确认后将清空当前答题进度")
+            tipDialog.setCallback(object :TipDialog.OnClickCallback{
+                override fun onOk() {
+                    showDialog()
+                    HttpManager.restart(day,week,3).request(this@IncludeActivity){_,_->
+                        totalCount = 0 //总答题次数
+                        rightCount = 0 //正确答题次数
+                        time = 0 //学习秒数
+                        indexList.forEach { it.status = 1 }
+                        indexAdapter.notifyDataSetChanged()
+                        data?.accuracy = 0.0
+                        view_pager.setCurrentItem(0,false)
+                        (fragments[0] as IncludeFragment).recover()
+                    }
+                }
+
+                override fun onCancel() {
+                }
+            })
+            tipDialog.show(supportFragmentManager,"restart")
         }
 
         tv_exit.setOnClickListener {
             onBackPressed()
         }
+
+
+        indexAdapter.setOnItemClickListener { view, position ->
+            val sortBean = indexList[position]
+            if (position!=view_pager.currentItem&&(sortBean.status!=1||position == indexList.indexOf(indexList.first { it.status == 1 }))){
+                view_pager.setCurrentItem(position,false)
+                (fragments[position] as IncludeFragment).recover()
+            }
+        }
     }
 
     fun next(){
+        val listenFragment = fragments[view_pager.currentItem] as IncludeFragment
+        val sortBean = indexList[view_pager.currentItem]
+        sortBean.status = if (listenFragment.right) 2 else 3 //修改本地答题结果,并上传服务器
+        HttpManager.answerQuestion(sortBean).request(this){_,data->
+            //保存成功
+        }
+        val filter = indexList.filter { it.status != 1 }
+        data?.accuracy = filter.filter { it.status == 2 }.size.toDouble() / filter.size
         if (view_pager.currentItem == fragments.lastIndex){
             handler?.removeMessages(0)
             ResultActivity.startResult(this,day,week,season,3,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
             finish()
         }else{
-            (fragments[view_pager.currentItem+1] as IncludeFragment).recover()
             view_pager.setCurrentItem(view_pager.currentItem+1,true)
+            (fragments[view_pager.currentItem+1] as IncludeFragment).recover()
             tv_last.visible()
+            indexAdapter.notifyDataSetChanged()
         }
     }
 
     override fun initView() {
+        rv_index.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false)
+        rv_index.adapter = indexAdapter
         data?.apply {
-            tv_progress.text = "已完成:1/${subjectList.size}"
+            tv_progress.text = "已完成:1/%d\n正确率:%.2f%s".format(subjectList.size,accuracy*100,"%")
+            indexList.clear()
+            indexList.addAll(list)
+            indexAdapter.notifyDataSetChanged()
             subjectList.forEachIndexed { index, subject ->
                 fragments.add(IncludeFragment.getInstance(index))
             }
+        }
+        recover()
+        handler= object :Handler(Looper.myLooper()!!){
+            override fun handleMessage(msg: Message) {
+                super.handleMessage(msg)
+                if (msg.what == 0){
+                    time++
+                    handler?.sendEmptyMessageDelayed(0,1000L)
+                }
+            }
+        }
+        handler?.sendEmptyMessageDelayed(0,1000L)
+    }
+
+    private fun recover(){
+        HttpManager.teamSchedule(day,week,3).request(this){_,data->
             view_pager.adapter = @SuppressLint("WrongConstant")
             object : FragmentPagerAdapter(supportFragmentManager,0) {
                 override fun getItem(p0: Int): Fragment {
@@ -98,28 +160,12 @@
                 }
 
                 override fun onPageSelected(position: Int) {
-                    tv_progress.text = "已完成:${position+1}/${subjectList.size}"
+                    tv_progress.text = "已完成:%d/%d\n正确率:%.2f%s".format(position+1,this@IncludeActivity.data!!.subjectList.size,this@IncludeActivity.data!!.accuracy*100,"%")
                 }
 
                 override fun onPageScrollStateChanged(state: Int) {
                 }
             })
-        }
-        recover()
-        handler= object :Handler(Looper.myLooper()!!){
-            override fun handleMessage(msg: Message) {
-                super.handleMessage(msg)
-                if (msg.what == 0){
-                    time++
-                    handler?.sendEmptyMessageDelayed(0,1000L)
-                }
-            }
-        }
-        handler?.sendEmptyMessageDelayed(0,1000L)
-    }
-
-    private fun recover(){
-        HttpManager.teamSchedule(day,week,3).request(this){_,data->
             view_pager.setCurrentItem((data?.schedule?:1)-1,false)
             if (view_pager.currentItem != 0)
                 tv_last.visible()
diff --git a/app/src/main/java/com/dollearn/student/ui/home/IncludeFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/IncludeFragment.kt
index 320c3ea..d2c726c 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/IncludeFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/IncludeFragment.kt
@@ -56,6 +56,10 @@
 
     private var nowVoiceView: View? = null
 
+    private var isAutoPlaying = false //true自动播放流程
+
+    var right = true //true进入下一题为全对,false 一旦答错过就置为false,此时进入下一题,本题算做错误
+
     override fun onFirstVisibleToUser() {
         player.setOnAudioStatusUpdateListener(this)
         player.stopPlayMusic()
@@ -95,13 +99,13 @@
                 iv_1.setImageURI(originList[0].img)
                 iv_2.setImageURI(originList[1].img)
                 iv_4.setImageURI(originList[3].img)
-                if (cl_1.width > dip(203)){
-                    voiceViews.forEach {
-                        it.layoutParams.width = dip(159)
-                        it.layoutParams.height = dip(52)
-                        it.requestLayout()
-                    }
-                }
+//                if (cl_1.width > dip(203)){
+//                    voiceViews.forEach {
+//                        it.layoutParams.width = dip(159)
+//                        it.layoutParams.height = dip(52)
+//                        it.requestLayout()
+//                    }
+//                }
                 voiceViews.forEach { it.visible() }
             },500)
         }
@@ -115,8 +119,10 @@
                     constraintLayout.isEnabled = data!!.subjectList[group][index].listend
             }
         }
-        showVoiceEnable()
         initClick()
+        showVoiceEnable()
+        isAutoPlaying = true
+        voiceViews[0].callOnClick()
     }
 
     private fun initClick() {
@@ -149,6 +155,7 @@
                 motion.transitionToEnd()
                 showResultAnim()
             }else{
+                right = false
                 handler?.sendEmptyMessage(PLAY_ERROR)
                 iv_error_1.visible()
                 iv_error_1.postDelayed({
@@ -174,6 +181,7 @@
                 motion.transitionToEnd()
                 showResultAnim()
             }else{
+                right = false
                 handler?.sendEmptyMessage(PLAY_ERROR)
                 iv_error_2.visible()
                 iv_error_2.postDelayed({
@@ -199,6 +207,7 @@
                 motion.transitionToEnd()
                 showResultAnim()
             }else{
+                right = false
                 handler?.sendEmptyMessage(PLAY_ERROR)
                 iv_error_3.visible()
                 iv_error_3.postDelayed({
@@ -363,6 +372,8 @@
      */
     fun recover(){
         Log.e(TAG,"回到上一题,恢复答题前的状态")
+        right = true
+        isAutoPlaying = false
         motion.progress = 0f
         clearAnswerImg()
         currentImage = 0
@@ -482,7 +493,7 @@
                 }else{
                     hideAnswerImg()
                     Log.e(TAG,"本题全部答对,3秒后进入下一图")
-                    handler?.sendEmptyMessageDelayed(TO_NEXT,3000)
+                    handler?.sendEmptyMessageDelayed(TO_NEXT,500) //万俊杰:缩短为0.5秒
                 }
             }
         }
@@ -492,8 +503,27 @@
             rightPlaying = false
             data!!.subjectList[group][currentImage].completed = true
             nowVoiceView?.callOnClick()
-        }else
+        }else{
             subject.listend = true
+            if (isAutoPlaying)
+                when(voiceIndex){
+                    0-> voiceViews[1].callOnClick()
+                    1-> voiceViews[2].callOnClick()
+                    3-> voiceViews[4].callOnClick()
+                    2,4,5-> isAutoPlaying = false
+                }
+            else if (subject.completed){
+                when(voiceIndex){
+                    2->{
+                        isAutoPlaying = true
+                        voiceViews[3].callOnClick()
+                    }
+                    4->{
+                        voiceViews[5].callOnClick()
+                    }
+                }
+            }
+        }
         showVoiceEnable()
     }
 
diff --git a/app/src/main/java/com/dollearn/student/ui/home/ListenActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/ListenActivity.kt
index 3c4197e..d7ede97 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/ListenActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/ListenActivity.kt
@@ -8,15 +8,18 @@
 import androidx.core.os.bundleOf
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentPagerAdapter
+import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.viewpager.widget.ViewPager
 import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.visible
 import com.dollearn.student.R
 import com.dollearn.student.dialog.TipDialog
 import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.SortBean
 import com.dollearn.student.network.entity.SubjectBean
 import com.dollearn.student.network.request
 import com.dollearn.student.ui.TransparentStatusBarActivity
+import com.dollearn.student.ui.home.adapter.IndexAdapter
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.activity_listen.*
@@ -43,21 +46,64 @@
     var time = 0 //学习秒数
     private var handler:Handler? = null
 
+    val indexList = arrayListOf<SortBean>()
+    private val indexAdapter = IndexAdapter(indexList)
+
     override fun initClick() {
         tv_last.setOnClickListener {
-            val i = view_pager.currentItem - 1
-            (fragments[i] as ListenFragment).recover()
-            view_pager.setCurrentItem(i,i%4 == 0)
-            if (view_pager.currentItem == 0)
-                tv_last.gone()
+            val tipDialog = TipDialog()
+            tipDialog.arguments = bundleOf("msg" to "是否重新开始答题?确认后将清空当前答题进度")
+            tipDialog.setCallback(object :TipDialog.OnClickCallback{
+                override fun onOk() {
+                    showDialog()
+                    HttpManager.restart(day,week,1).request(this@ListenActivity){_,_->
+                        totalCount = 0 //总答题次数
+                        rightCount = 0 //正确答题次数
+                        time = 0 //学习秒数
+                        data!!.list.forEach { it.status = 1 }
+                        data!!.accuracy = 0.0
+                        indexList.forEach { it.status = 1 }
+                        indexAdapter.notifyDataSetChanged()
+                        data?.accuracy = 0.0
+                        (fragments[0] as ListenFragment).recover()
+                        view_pager.setCurrentItem(0,false)
+                    }
+                }
+
+                override fun onCancel() {
+                }
+            })
+            tipDialog.show(supportFragmentManager,"restart")
         }
 
         tv_exit.setOnClickListener {
             onBackPressed()
         }
+
+        indexAdapter.setOnItemClickListener { view, position ->
+            val sortBean = indexList[position]
+            if (position!=viewPager.currentItem/4&&(sortBean.status!=1||position == indexList.indexOf(indexList.first { it.status == 1 }))){
+                (fragments[position*4] as ListenFragment).recover()
+                view_pager.setCurrentItem(position*4,false)
+            }
+        }
     }
 
     fun next(){
+        val listenFragment = fragments[viewPager.currentItem] as ListenFragment
+        val sortBean = data!!.list[viewPager.currentItem]
+        sortBean.status = if (listenFragment.right) 2 else 3 //修改本地答题结果,并上传服务器
+        HttpManager.answerQuestion(sortBean).request(this){_,data->
+            //保存成功
+        }
+        indexList.clear()
+        (data!!.subjectList.indices).forEach {
+            val subList = data!!.list.subList(it * 4, it * 4 + 4)
+            val status = if (subList.filter { it.status!=1 }.size != 4) 1 else if (subList.filter { it.status==2 }.size == 4) 2 else 3
+            indexList.add(SortBean("",status))
+        }
+        val filter = indexList.filter { it.status != 1 }
+        data?.accuracy = if (filter.isEmpty()) 0.0 else filter.filter { it.status == 2 }.size.toDouble() / filter.size
         if (view_pager.currentItem == fragments.lastIndex){
             handler?.removeMessages(0)
             ResultActivity.startResult(this,day,week,season,1,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
@@ -67,13 +113,23 @@
             (fragments[i] as ListenFragment).recover()
             view_pager.setCurrentItem(i,i%4 == 0)
             tv_last.visible()
+            indexAdapter.notifyDataSetChanged()
         }
     }
 
     override fun initView() {
+        rv_index.layoutManager = LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)
+        rv_index.adapter = indexAdapter
         data?.apply {
             val flatMap = subjectList?.flatMap { it }
-            tv_progress.text = "已完成:1/${flatMap.size}"
+            tv_progress.text = "已完成:1/%d\n正确率:%.2f%s".format(subjectList.size,accuracy*100,"%")
+            indexList.clear()
+            (subjectList.indices).forEach {
+                val subList = list.subList(it * 4, it * 4 + 4)
+                val status = if (subList.filter { it.status!=1 }.size != 4) 1 else if (subList.filter { it.status==2 }.size == 4) 2 else 3
+                indexList.add(SortBean("",status))
+            }
+            indexAdapter.notifyDataSetChanged()
             flatMap.forEachIndexed { index, subject ->
                 fragments.add(ListenFragment.getInstance(index/4,index%4))
             }
@@ -101,7 +157,7 @@
                 }
 
                 override fun onPageSelected(position: Int) {
-                    tv_progress.text = "已完成:${position+1}/${flatMap.size}"
+                    tv_progress.text = "已完成:%d/%d\n正确率:%.2f%s".format(position/4+1,subjectList.size,accuracy*100,"%")
                 }
 
                 override fun onPageScrollStateChanged(state: Int) {
diff --git a/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt
index 3d5f1f7..9789583 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt
@@ -53,6 +53,8 @@
 
     private val resultViewList by lazy { arrayListOf(result_1,result_2,result_3,result_4) }
 
+    var right = true //true进入下一题为全对,false 一旦答错过就置为false,此时进入下一题,本题算做错误
+
     override fun onFirstVisibleToUser() {
         player.setOnAudioStatusUpdateListener(this)
         player.stopPlayMusic()
@@ -106,7 +108,7 @@
             }
         }
 
-        handler?.sendEmptyMessageDelayed(PLAY_VOICE,1500) //进入题目2秒后播放,这里写1.5秒 预算进网络语音加载时间
+        handler?.sendEmptyMessageDelayed(PLAY_VOICE,200) //2025.4.8 立即播放
 
         initClick()
     }
@@ -129,7 +131,8 @@
         Log.e(TAG,"回到上一题,恢复答题前的状态")
         hasListen = false
         hasRight = false
-        handler?.sendEmptyMessageDelayed(PLAY_VOICE,1500) //进入题目2秒后播放,这里写1.5秒 预算进网络语音加载时间
+        right = true
+        handler?.sendEmptyMessageDelayed(PLAY_VOICE,200) //改为立即播放
         cl_1.progress = 0f
         cl_2.progress = 0f
         cl_3.progress = 0f
@@ -158,7 +161,7 @@
     private fun setResultAnimation(v:MotionLayout,index: Int){
         v.clickDelay {
             if (!hasListen) {
-                myToast("请先听题")
+//                myToast("请先听题")
                 return@clickDelay
             }
             if (playing)
@@ -169,6 +172,7 @@
                 v.transitionToEnd()
                 if (randomList[index].correct != correctVoice){ //答案不对,结束后消失
                     hasListen = false
+                    right = false
                     handler?.sendEmptyMessage(PLAY_ERROR)
                     v.setTransitionListener(object :MotionLayout.TransitionListener{
                         override fun onTransitionStarted(p0: MotionLayout?, p1: Int, p2: Int) {
@@ -209,14 +213,16 @@
         iv_playing.gone()
         if (hasRight&&!playing){ //选对答案后的播放结束3秒后进入下一图
             Log.e(TAG,"选对答案后的播放结束3秒后进入下一图")
-            handler?.sendEmptyMessageDelayed(TO_NEXT,3000)
+            handler?.sendEmptyMessageDelayed(TO_NEXT,500) //万俊杰:缩短为0.5秒
         }
         if (rightPlaying){
             rightPlaying = false
             hasRight = true
             handler?.sendEmptyMessage(PLAY_VOICE)
-        }else if (errorPlaying)
+        }else if (errorPlaying){
             errorPlaying = false
+            cl_voice.callOnClick()
+        }
         else if (!hasRight)
             hasListen = true
     }
diff --git a/app/src/main/java/com/dollearn/student/ui/home/LookImgFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/LookImgFragment.kt
index c90489b..3638235 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/LookImgFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/LookImgFragment.kt
@@ -288,7 +288,7 @@
         }
         if (data!!.storyList[index].completed){ //本题已答对
             Log.e(TAG,"选对答案后的播放结束3秒后进入下一图")
-            handler?.sendEmptyMessageDelayed(TO_NEXT,3000)
+            handler?.sendEmptyMessageDelayed(TO_NEXT,500) //万俊杰:缩短为0.5秒
         }
     }
 
diff --git a/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt
index a16508e..87d6d78 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt
@@ -8,15 +8,18 @@
 import androidx.core.os.bundleOf
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentPagerAdapter
+import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.viewpager.widget.ViewPager
 import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.visible
 import com.dollearn.student.R
 import com.dollearn.student.dialog.TipDialog
 import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.SortBean
 import com.dollearn.student.network.entity.SubjectBean
 import com.dollearn.student.network.request
 import com.dollearn.student.ui.TransparentStatusBarActivity
+import com.dollearn.student.ui.home.adapter.IndexAdapter
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.activity_listen.*
@@ -42,20 +45,56 @@
     var time = 0 //学习秒数
     private var handler:Handler? = null
 
+    val indexList = arrayListOf<SortBean>()
+    private val indexAdapter = IndexAdapter(indexList)
+
     override fun initClick() {
         tv_last.setOnClickListener {
-            (fragments[view_pager.currentItem-1] as MatchFragment).recover()
-            view_pager.setCurrentItem(view_pager.currentItem-1,true)
-            if (view_pager.currentItem == 0)
-                tv_last.gone()
+            val tipDialog = TipDialog()
+            tipDialog.arguments = bundleOf("msg" to "是否重新开始答题?确认后将清空当前答题进度")
+            tipDialog.setCallback(object :TipDialog.OnClickCallback{
+                override fun onOk() {
+                    showDialog()
+                    HttpManager.restart(day,week,5).request(this@MatchActivity){_,_->
+                        totalCount = 0 //总答题次数
+                        rightCount = 0 //正确答题次数
+                        time = 0 //学习秒数
+                        indexList.forEach { it.status = 1 }
+                        indexAdapter.notifyDataSetChanged()
+                        data?.accuracy = 0.0
+                        (fragments[0] as MatchFragment).recover()
+                        view_pager.setCurrentItem(0,false)
+                    }
+                }
+
+                override fun onCancel() {
+                }
+            })
+            tipDialog.show(supportFragmentManager,"restart")
         }
 
         tv_exit.setOnClickListener {
             onBackPressed()
         }
+
+        indexAdapter.setOnItemClickListener { view, position ->
+            val sortBean = indexList[position]
+            if (position!=view_pager.currentItem&&(sortBean.status!=1||position == indexList.indexOf(indexList.first { it.status == 1 }))){
+                (fragments[position] as MatchFragment).recover()
+                view_pager.setCurrentItem(position,false)
+            }
+        }
     }
 
     fun next(){
+        val listenFragment = fragments[view_pager.currentItem] as MatchFragment
+        val sortBean = indexList[view_pager.currentItem]
+        sortBean.status = if (listenFragment.right) 2 else 3 //修改本地答题结果,并上传服务器
+        HttpManager.answerQuestion(sortBean).request(this){_,data->
+            //保存成功
+        }
+        val filter = indexList.filter { it.status != 1 }
+        data?.accuracy = filter.filter { it.status == 2 }.size.toDouble() / filter.size
         if (view_pager.currentItem == fragments.lastIndex){
             handler?.removeMessages(0)
             ResultActivity.startResult(this,day,week,season,5,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
@@ -64,12 +103,18 @@
             (fragments[view_pager.currentItem+1] as MatchFragment).recover()
             view_pager.setCurrentItem(view_pager.currentItem+1,true)
             tv_last.visible()
+            indexAdapter.notifyDataSetChanged()
         }
     }
 
     override fun initView() {
+        rv_index.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false)
+        rv_index.adapter = indexAdapter
         data?.apply {
-            tv_progress.text = "已完成:1/${subjectList.size}"
+            tv_progress.text = "已完成:1/%d\n正确率:%.2f%s".format(subjectList.size,accuracy*100,"%")
+            indexList.clear()
+            indexList.addAll(list)
+            indexAdapter.notifyDataSetChanged()
             subjectList.forEachIndexed { index, subject ->
                 fragments.add(MatchFragment.getInstance(index))
             }
@@ -97,7 +142,7 @@
                 }
 
                 override fun onPageSelected(position: Int) {
-                    tv_progress.text = "已完成:${position+1}/${subjectList.size}"
+                    tv_progress.text = "已完成:%d/%d\n正确率:%.2f%s".format(position+1,subjectList.size,accuracy*100,"%")
                 }
 
                 override fun onPageScrollStateChanged(state: Int) {
diff --git a/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt
index 8512d34..13fc332 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt
@@ -56,6 +56,9 @@
 
     private val completedVoice = arrayListOf<String>() //已经选了的音频 飞到图片上了
 
+    var right = true //true进入下一题为全对,false 一旦答错过就置为false,此时进入下一题,本题算做错误
+
+
     override fun onFirstVisibleToUser() {
         player.setOnAudioStatusUpdateListener(this)
         player.stopPlayMusic()
@@ -182,6 +185,7 @@
                 motion.transitionToEnd()
                 handler?.sendEmptyMessage(PLAY_RIGHT)
             }else{
+                right = false
                 result_1.imageResource = R.mipmap.zhifushibai
                 handler?.sendEmptyMessage(PLAY_ERROR)
             }
@@ -472,6 +476,7 @@
      */
     fun recover(){
         Log.e(TAG,"回到上一题,恢复答题前的状态")
+        right = true
         motion.progress = 0f
         data!!.subjectList[group].forEach {
             it.completed = false
diff --git a/app/src/main/java/com/dollearn/student/ui/home/QAActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/QAActivity.kt
index 2771517..07cb6f9 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/QAActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/QAActivity.kt
@@ -8,15 +8,18 @@
 import androidx.core.os.bundleOf
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentPagerAdapter
+import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.viewpager.widget.ViewPager
 import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.visible
 import com.dollearn.student.R
 import com.dollearn.student.dialog.TipDialog
 import com.dollearn.student.network.HttpManager
+import com.dollearn.student.network.entity.SortBean
 import com.dollearn.student.network.entity.SubjectBean
 import com.dollearn.student.network.request
 import com.dollearn.student.ui.TransparentStatusBarActivity
+import com.dollearn.student.ui.home.adapter.IndexAdapter
 import com.dollearn.student.utils.Const
 import com.dollearn.student.utils.event.EmptyEvent
 import kotlinx.android.synthetic.main.activity_listen.*
@@ -42,20 +45,56 @@
     var time = 0 //学习秒数
     private var handler:Handler? = null
 
+    val indexList = arrayListOf<SortBean>()
+    private val indexAdapter = IndexAdapter(indexList)
+
     override fun initClick() {
         tv_last.setOnClickListener {
-            (fragments[view_pager.currentItem-1] as QAFragment).recover()
-            view_pager.setCurrentItem(view_pager.currentItem-1,true)
-            if (view_pager.currentItem == 0)
-                tv_last.gone()
+            val tipDialog = TipDialog()
+            tipDialog.arguments = bundleOf("msg" to "是否重新开始答题?确认后将清空当前答题进度")
+            tipDialog.setCallback(object :TipDialog.OnClickCallback{
+                override fun onOk() {
+                    showDialog()
+                    HttpManager.restart(day,week,4).request(this@QAActivity){_,_->
+                        totalCount = 0 //总答题次数
+                        rightCount = 0 //正确答题次数
+                        time = 0 //学习秒数
+                        indexList.forEach { it.status = 1 }
+                        indexAdapter.notifyDataSetChanged()
+                        data?.accuracy = 0.0
+                        (fragments[0] as QAFragment).recover()
+                        view_pager.setCurrentItem(0,false)
+                    }
+                }
+
+                override fun onCancel() {
+                }
+            })
+            tipDialog.show(supportFragmentManager,"restart")
         }
 
         tv_exit.setOnClickListener {
             onBackPressed()
         }
+
+        indexAdapter.setOnItemClickListener { view, position ->
+            val sortBean = indexList[position]
+            if (position!=view_pager.currentItem&&(sortBean.status!=1||position == indexList.indexOf(indexList.first { it.status == 1 }))){
+                (fragments[position] as QAFragment).recover()
+                view_pager.setCurrentItem(position,false)
+            }
+        }
     }
 
     fun next(){
+        val listenFragment = fragments[view_pager.currentItem] as QAFragment
+        val sortBean = indexList[view_pager.currentItem]
+        sortBean.status = if (listenFragment.right) 2 else 3 //修改本地答题结果,并上传服务器
+        HttpManager.answerQuestion(sortBean).request(this){_,data->
+            //保存成功
+        }
+        val filter = indexList.filter { it.status != 1 }
+        data?.accuracy = filter.filter { it.status == 2 }.size.toDouble() / filter.size
         if (view_pager.currentItem == fragments.lastIndex){
             handler?.removeMessages(0)
             ResultActivity.startResult(this,day,week,season,4,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
@@ -64,12 +103,18 @@
             (fragments[view_pager.currentItem+1] as QAFragment).recover()
             view_pager.setCurrentItem(view_pager.currentItem+1,true)
             tv_last.visible()
+            indexAdapter.notifyDataSetChanged()
         }
     }
 
     override fun initView() {
+        rv_index.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false)
+        rv_index.adapter = indexAdapter
         data?.apply {
-            tv_progress.text = "已完成:1/${subjectList.size}"
+            tv_progress.text = "已完成:1/%d\n正确率:%.2f%s".format(subjectList.size,accuracy*100,"%")
+            indexList.clear()
+            indexList.addAll(list)
+            indexAdapter.notifyDataSetChanged()
             subjectList.forEachIndexed { index, subject ->
                 fragments.add(QAFragment.getInstance(index))
             }
@@ -97,7 +142,7 @@
                 }
 
                 override fun onPageSelected(position: Int) {
-                    tv_progress.text = "已完成:${position+1}/${subjectList.size}"
+                    tv_progress.text = "已完成:%d/%d\n正确率:%.2f%s".format(position+1,subjectList.size,accuracy*100,"%")
                 }
 
                 override fun onPageScrollStateChanged(state: Int) {
diff --git a/app/src/main/java/com/dollearn/student/ui/home/QAFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/QAFragment.kt
index ab2bb3c..1242aca 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/QAFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/QAFragment.kt
@@ -71,6 +71,11 @@
 
     private var nowVoiceView: View? = null
 
+    private var isAutoPlaying = 0
+
+    var right = true //true进入下一题为全对,false 一旦答错过就置为false,此时进入下一题,本题算做错误
+
+
     override fun onFirstVisibleToUser() {
         player.setOnAudioStatusUpdateListener(this)
         player.stopPlayMusic()
@@ -120,13 +125,15 @@
                 act.rightCount++
                 Log.e(TAG,"选择正确")
                 transAnimation(cl_answer_1,voiceViews[questionIndex])
-                resultViews[questionIndex].visible()
-                resultViews[questionIndex].postDelayed({
-                    resultViews[questionIndex].gone()
-                },3000)
+                val resultView = resultViews[questionIndex]
+                resultView.visible()
+                resultView.postDelayed({
+                    resultView.gone()
+                },2000)
                 nowVoiceView = voiceViews[questionIndex]
                 handler?.sendEmptyMessage(PLAY_RIGHT)
             }else{
+                right = false
                 recoverAnswer()
                 handler?.sendEmptyMessage(PLAY_ERROR)
                 dot_1.visible()
@@ -134,7 +141,7 @@
                 dot_1.postDelayed({
                     dot_1.gone()
                     iv_error_1.gone()
-                },3000)
+                },2000)
             }
         }
         rl_check_2.clickDelay {
@@ -151,10 +158,11 @@
                 act.rightCount++
                 Log.e(TAG,"选择正确")
                 transAnimation(cl_answer_2,voiceViews[questionIndex])
-                resultViews[questionIndex].visible()
-                resultViews[questionIndex].postDelayed({
-                    resultViews[questionIndex].gone()
-                },3000)
+                val resultView = resultViews[questionIndex]
+                resultView.visible()
+                resultView.postDelayed({
+                    resultView.gone()
+                },2000)
                 nowVoiceView = voiceViews[questionIndex]
                 handler?.sendEmptyMessage(PLAY_RIGHT)
             }else{
@@ -165,7 +173,7 @@
                 dot_2.postDelayed({
                     dot_2.gone()
                     iv_error_2.gone()
-                },3000)
+                },2000)
             }
         }
         rl_check_3.clickDelay {
@@ -182,10 +190,11 @@
                 act.rightCount++
                 Log.e(TAG,"选择正确")
                 transAnimation(cl_answer_3,voiceViews[questionIndex])
-                resultViews[questionIndex].visible()
-                resultViews[questionIndex].postDelayed({
-                    resultViews[questionIndex].gone()
-                },3000)
+                val resultView = resultViews[questionIndex]
+                resultView.visible()
+                resultView.postDelayed({
+                    resultView.gone()
+                },2000)
                 nowVoiceView = voiceViews[questionIndex]
                 handler?.sendEmptyMessage(PLAY_RIGHT)
             }else{
@@ -196,9 +205,15 @@
                 dot_3.postDelayed({
                     dot_3.gone()
                     iv_error_3.gone()
-                },3000)
+                },2000)
             }
         }
+
+        isAutoPlaying = 1
+        voiceViews.filterIndexed { index, constraintLayout ->
+            val subject = list[index]
+            constraintLayout.isEnabled&&subject.isQuestion == 1
+        }.firstOrNull()?.callOnClick()
     }
 
 
@@ -206,6 +221,7 @@
      * 恢复答案和题目ui
      */
     fun recover(){
+        right = true
         showVoiceUi()
         list.forEach { it.completed = false }
         recoverAnswer()
@@ -258,13 +274,13 @@
         }
         questionIndex = position
         if (questionIndex == 0||questionIndex == 2){
-            iv2_answer_1.setImageResource(R.mipmap.voice_question)
-            iv2_answer_2.setImageResource(R.mipmap.voice_question)
-            iv2_answer_3.setImageResource(R.mipmap.voice_question)
+            iv2_answer_1.setImageResource(R.mipmap.voice_question_2)
+            iv2_answer_2.setImageResource(R.mipmap.voice_question_2)
+            iv2_answer_3.setImageResource(R.mipmap.voice_question_2)
         }else{
-            iv2_answer_1.setImageResource(R.mipmap.voice_answer)
-            iv2_answer_2.setImageResource(R.mipmap.voice_answer)
-            iv2_answer_3.setImageResource(R.mipmap.voice_answer)
+            iv2_answer_1.setImageResource(R.mipmap.voice_answer_2)
+            iv2_answer_2.setImageResource(R.mipmap.voice_answer_2)
+            iv2_answer_3.setImageResource(R.mipmap.voice_answer_2)
         }
         rl_check_1.visible()
         rl_check_2.visible()
@@ -303,7 +319,7 @@
         val x = PropertyValuesHolder.ofFloat("translationX",0f,offx.toFloat())
         val y = PropertyValuesHolder.ofFloat("translationY",0f,offy.toFloat())
         val animator = ObjectAnimator.ofPropertyValuesHolder(v, x, y)
-        animator.duration = 1000
+        animator.duration = 500
         animator.interpolator = LinearInterpolator()
         animator.start()
         animator.addListener(object :Animator.AnimatorListener{
@@ -390,16 +406,33 @@
             }
         }
 
-        if (list.filter { it.completed }.size == 2){ //全部作答,3秒后下一题
-            handler?.sendEmptyMessageDelayed(TO_NEXT,3000)
+        if (isAutoPlaying in 1..2){
+            if (voiceIndex in 0..3){
+                cl_answer_1.callOnClick()
+            }else if (voiceIndex == 4)
+                cl_answer_2.callOnClick()
+            else if (voiceIndex == 5)
+                cl_answer_3.callOnClick()
+            else if (voiceIndex == 6){
+                isAutoPlaying = if (isAutoPlaying == 1) 0 else -1
+            }
         }
+
         if (errorPlaying)
             errorPlaying = false
-        if (rightPlaying){
+        else if (rightPlaying){
             rightPlaying = false
             nowVoiceView?.callOnClick()
             list[questionIndex].completed = true
             recoverAnswer()
+        }else if (list.filter { it.completed }.size == 2){ //全部作答,3秒后下一题
+            handler?.sendEmptyMessageDelayed(TO_NEXT,500) //万俊杰:缩短为0.5秒
+        }else if (list.filter { it.completed }.size == 1&& isAutoPlaying == 0){//答完一题,自动播放下一题
+            isAutoPlaying = 2
+            voiceViews.filterIndexed { index, constraintLayout ->
+                val subject = list[index]
+                constraintLayout.isEnabled&&subject.isQuestion == 1
+            }.lastOrNull()?.callOnClick()
         }
     }
 
diff --git a/app/src/main/java/com/dollearn/student/ui/home/adapter/IndexAdapter.kt b/app/src/main/java/com/dollearn/student/ui/home/adapter/IndexAdapter.kt
new file mode 100644
index 0000000..5ec510a
--- /dev/null
+++ b/app/src/main/java/com/dollearn/student/ui/home/adapter/IndexAdapter.kt
@@ -0,0 +1,17 @@
+package com.dollearn.student.ui.home.adapter
+
+import android.widget.TextView
+import cn.sinata.xldutils.adapter.HFRecyclerAdapter
+import cn.sinata.xldutils.adapter.util.ViewHolder
+import com.dollearn.student.R
+import com.dollearn.student.network.entity.SortBean
+import org.jetbrains.anko.textColorResource
+import java.util.ArrayList
+
+class IndexAdapter(indexList: ArrayList<SortBean>):HFRecyclerAdapter<SortBean>(indexList, R.layout.item_index) {
+    override fun onBind(holder: ViewHolder, position: Int, data: SortBean) {
+        val tv_sort = holder.bind<TextView>(R.id.tv_sort)
+        tv_sort.text = (position+1).toString()
+        tv_sort.textColorResource = if (data.status == 2) R.color.textColorGreen else if (data.status == 3) R.color.colorOrange else R.color.textColor99
+    }
+}
diff --git a/app/src/main/java/com/dollearn/student/utils/Const.kt b/app/src/main/java/com/dollearn/student/utils/Const.kt
index d3c87c5..8376d2d 100644
--- a/app/src/main/java/com/dollearn/student/utils/Const.kt
+++ b/app/src/main/java/com/dollearn/student/utils/Const.kt
@@ -68,6 +68,8 @@
         const val START_TIMER = 0x0F //开始学习,计算时间
         const val STOP_TIMER = 0x11 //结束学习,计时停止
 
+        const val RECOVERD = 0x12 //答题进度已恢复,可以走自动播放流程了
+
 
 
     }
diff --git a/app/src/main/res/drawable/bg_grey_2dp.xml b/app/src/main/res/drawable/bg_grey_2dp.xml
new file mode 100644
index 0000000..a660cfc
--- /dev/null
+++ b/app/src/main/res/drawable/bg_grey_2dp.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="2dp"/>
+    <solid android:color="#D4D2CD"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_orange_8dp.xml b/app/src/main/res/drawable/bg_orange_8dp.xml
new file mode 100644
index 0000000..aa90466
--- /dev/null
+++ b/app/src/main/res/drawable/bg_orange_8dp.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="8dp"/>
+    <gradient android:startColor="@color/colorDeepGreen" android:endColor="@color/colorDeepGreen" android:angle="270"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_white_8dp_padding.xml b/app/src/main/res/drawable/bg_white_8dp_padding.xml
new file mode 100644
index 0000000..5f20381
--- /dev/null
+++ b/app/src/main/res/drawable/bg_white_8dp_padding.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:top="4dp" android:bottom="4dp" android:left="4dp" android:right="4dp">
+        <shape>
+            <solid android:color="@color/white"/>
+            <corners android:radius="8dp"/>
+        </shape>
+    </item>
+</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_voice.xml b/app/src/main/res/drawable/selector_bg_voice.xml
index 9e9ccba..5c6ec0d 100644
--- a/app/src/main/res/drawable/selector_bg_voice.xml
+++ b/app/src/main/res/drawable/selector_bg_voice.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/bg_blue_8dp" android:state_enabled="true"/>
-    <item android:drawable="@drawable/bg_grey_8dp" android:state_enabled="false"/>
+    <item android:drawable="@drawable/bg_white_8dp" android:state_enabled="true"/>
+    <item android:drawable="@drawable/bg_white_8dp" android:state_enabled="false"/>
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bg_white_grey.xml b/app/src/main/res/drawable/selector_bg_white_grey.xml
new file mode 100644
index 0000000..8efd020
--- /dev/null
+++ b/app/src/main/res/drawable/selector_bg_white_grey.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/bg_white_2dp" android:state_enabled="true"/>
+    <item android:drawable="@drawable/bg_grey_2dp" android:state_enabled="false"/>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_enable_choose.xml b/app/src/main/res/drawable/selector_enable_choose.xml
index 9566e78..b5d5d7a 100644
--- a/app/src/main/res/drawable/selector_enable_choose.xml
+++ b/app/src/main/res/drawable/selector_enable_choose.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true" android:drawable="@drawable/bg_blue_line_8dp"/>
+    <item android:state_selected="true" android:drawable="@drawable/bg_white_8dp"/>
     <item android:state_selected="false" android:drawable="@drawable/bg_blue_line_grey_8dp"/>
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_listen.xml b/app/src/main/res/layout/activity_listen.xml
index b2bb9be..901cd47 100644
--- a/app/src/main/res/layout/activity_listen.xml
+++ b/app/src/main/res/layout/activity_listen.xml
@@ -9,19 +9,20 @@
         android:id="@+id/tv_progress"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintBaseline_toBaselineOf="@id/tv_exit"
+        app:layout_constraintTop_toTopOf="@id/tv_exit"
+        app:layout_constraintBottom_toBottomOf="@id/tv_exit"
         android:gravity="center"
         android:textStyle="bold"
         android:textSize="14sp"
         android:textColor="@color/textColor"
-        android:text="0/0"/>
+        android:text="已完成:0/0\n正确率:0%"/>
     <TextView
         android:id="@+id/tv_exit"
         android:layout_width="124dp"
         android:layout_height="wrap_content"
         android:textSize="14sp"
-        android:textColor="@color/white"
-        android:background="@drawable/bg_blue_4dp"
+        android:textColor="@color/colorPrimary"
+        android:background="@drawable/bg_blue_line_4dp"
         android:text="退出"
         android:paddingVertical="10dp"
         android:gravity="center"
@@ -36,18 +37,27 @@
         android:textSize="14sp"
         android:textColor="@color/colorPrimary"
         android:background="@drawable/bg_blue_line_4dp"
-        android:text="上一题"
+        android:text="重新开始"
         android:paddingVertical="10dp"
-        android:visibility="gone"
         android:gravity="center"
         app:layout_constraintEnd_toStartOf="@id/tv_progress"
         app:layout_constraintBottom_toBottomOf="parent"
         android:layout_marginBottom="12dp"
         android:textStyle="bold" />
+    <androidx.recyclerview.widget.RecyclerView
+        android:layout_width="wrap_content"
+        android:layout_height="25dp"
+        android:id="@+id/rv_index"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        android:layout_marginBottom="10dp"
+        android:background="@color/white"
+        android:elevation="2dp"
+        app:layout_constraintBottom_toTopOf="@id/tv_progress"/>
     <com.dollearn.student.views.NoScrollViewPager
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:id="@+id/view_pager"
         app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toTopOf="@id/tv_exit"/>
+        app:layout_constraintBottom_toTopOf="@id/rv_index"/>
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index a39612d..79bffb1 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -69,9 +69,9 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="132dp"
+        android:layout_marginBottom="32dp"
         android:text="登录"
-        app:layout_constraintTop_toBottomOf="@id/et_code" />
+        app:layout_constraintBottom_toBottomOf="parent" />
 
 
     <CheckBox
diff --git a/app/src/main/res/layout/fragment_choose_voice.xml b/app/src/main/res/layout/fragment_choose_voice.xml
index b4b7129..b7ed982 100644
--- a/app/src/main/res/layout/fragment_choose_voice.xml
+++ b/app/src/main/res/layout/fragment_choose_voice.xml
@@ -12,20 +12,20 @@
         android:id="@+id/center"
         app:layout_constraintGuide_percent="0.5"
         android:orientation="vertical"/>
+
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_1"
         android:layout_width="0dp"
         android:layout_height="0dp"
-        android:padding="4dp"
-        android:elevation="2dp"
+        android:padding="8dp"
         app:layout_constraintDimensionRatio="333:259"
         android:layout_marginTop="96dp"
         app:layout_constraintHorizontal_chainStyle="packed"
-        android:background="@drawable/bg_white_8dp"
+        android:background="@drawable/bg_white_8dp_padding"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintEnd_toStartOf="@id/center"
         android:layout_marginEnd="11dp"
-        android:layout_marginBottom="8dp"
+        android:layout_marginBottom="4dp"
         app:layout_constraintBottom_toTopOf="@id/cl_3">
         <TextView
             android:layout_width="match_parent"
@@ -54,12 +54,12 @@
             android:elevation="2dp"
             android:visibility="gone"
             android:id="@+id/cl_voice_end_1"
-            android:background="@drawable/bg_blue_8dp">
+            android:background="@color/white">
             <ImageView
                 android:id="@+id/iv1_1_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintHorizontal_chainStyle="packed"
@@ -70,7 +70,7 @@
                 android:id="@+id/iv2_1_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_1_end"
@@ -80,7 +80,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -93,12 +93,11 @@
         android:id="@+id/cl_2"
         android:layout_width="0dp"
         android:layout_height="0dp"
-        android:elevation="2dp"
         app:layout_constraintDimensionRatio="333:259"
-        android:padding="4dp"
+        android:padding="8dp"
         app:layout_constraintStart_toEndOf="@id/center"
         android:layout_marginStart="8dp"
-        android:background="@drawable/bg_white_8dp"
+        android:background="@drawable/bg_white_8dp_padding"
         app:layout_constraintTop_toTopOf="@id/cl_1"
         app:layout_constraintBottom_toBottomOf="@id/cl_1">
 
@@ -129,12 +128,12 @@
             android:elevation="2dp"
             android:visibility="gone"
             android:id="@+id/cl_voice_end_2"
-            android:background="@drawable/bg_blue_8dp">
+            android:background="@color/white">
             <ImageView
                 android:id="@+id/iv1_2_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintHorizontal_chainStyle="packed"
                 android:layout_marginEnd="52dp"
@@ -145,7 +144,7 @@
                 android:id="@+id/iv2_2_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_2_end"
@@ -155,7 +154,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -168,12 +167,11 @@
         android:id="@+id/cl_3"
         android:layout_width="0dp"
         android:layout_height="0dp"
-        android:padding="4dp"
-        android:elevation="2dp"
+        android:padding="8dp"
         android:layout_marginBottom="10dp"
         app:layout_constraintStart_toStartOf="@id/cl_1"
         app:layout_constraintEnd_toEndOf="@id/cl_1"
-        android:background="@drawable/bg_white_8dp"
+        android:background="@drawable/bg_white_8dp_padding"
         app:layout_constraintTop_toBottomOf="@id/cl_1"
         app:layout_constraintBottom_toBottomOf="parent">
 
@@ -204,12 +202,12 @@
             android:elevation="2dp"
             android:visibility="gone"
             android:id="@+id/cl_voice_end_3"
-            android:background="@drawable/bg_blue_8dp">
+            android:background="@color/white">
             <ImageView
                 android:id="@+id/iv1_3_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
@@ -220,7 +218,7 @@
                 android:id="@+id/iv2_3_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_3_end"
@@ -230,7 +228,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -243,11 +241,10 @@
         android:id="@+id/cl_4"
         android:layout_width="0dp"
         android:layout_height="0dp"
-        android:elevation="2dp"
-        android:padding="4dp"
+        android:padding="8dp"
         app:layout_constraintStart_toStartOf="@id/cl_2"
         app:layout_constraintEnd_toEndOf="@id/cl_2"
-        android:background="@drawable/bg_white_8dp"
+        android:background="@drawable/bg_white_8dp_padding"
         app:layout_constraintTop_toTopOf="@id/cl_3"
         app:layout_constraintBottom_toBottomOf="@id/cl_3">
 
@@ -278,12 +275,12 @@
             android:elevation="2dp"
             android:visibility="gone"
             android:id="@+id/cl_voice_end_4"
-            android:background="@drawable/bg_blue_8dp">
+            android:background="@color/white">
             <ImageView
                 android:id="@+id/iv1_4_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
@@ -294,7 +291,7 @@
                 android:id="@+id/iv2_4_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_4_end"
@@ -305,7 +302,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -318,19 +315,19 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_2"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="230dp"
+        android:layout_height="40dp"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
 
         <ImageView
             android:id="@+id/iv1_2s"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -341,7 +338,7 @@
             android:id="@+id/iv2_2s"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_2s"
@@ -358,20 +355,20 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="230dp"
+        android:layout_height="40dp"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
         android:elevation="2dp"
         android:id="@+id/cl_voice2"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -382,7 +379,7 @@
             android:id="@+id/iv2_2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_2"
@@ -392,7 +389,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -413,18 +410,18 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_1"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="230dp"
+        android:layout_height="40dp"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toStartOf="@id/rl_2"
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_1s"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -435,7 +432,7 @@
             android:id="@+id/iv2_1s"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_1s"
@@ -451,19 +448,19 @@
             app:layout_constraintEnd_toEndOf="parent"/>
     </androidx.constraintlayout.widget.ConstraintLayout>
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="230dp"
+        android:layout_height="40dp"
         app:layout_constraintStart_toStartOf="@id/rl_1"
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
         android:elevation="2dp"
         android:id="@+id/cl_voice1"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -474,7 +471,7 @@
             android:id="@+id/iv2_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_1"
@@ -484,7 +481,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -504,18 +501,18 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/rl_3"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="230dp"
+        android:layout_height="40dp"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toEndOf="@id/rl_2"
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_3s"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -526,7 +523,7 @@
             android:id="@+id/iv2_3s"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_3s"
@@ -543,19 +540,19 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="230dp"
+        android:layout_height="40dp"
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
         app:layout_constraintStart_toStartOf="@id/rl_3"
         android:elevation="2dp"
         android:id="@+id/cl_voice3"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -566,7 +563,7 @@
             android:id="@+id/iv2_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_3"
@@ -576,7 +573,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -600,8 +597,8 @@
         android:layout_marginStart="10dp"
         app:layout_constraintStart_toEndOf="@id/rl_1">
         <RelativeLayout
-            android:layout_width="52dp"
-            android:layout_height="52dp"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
             android:background="@drawable/bg_blue_line_8dp"
             android:visibility="gone"
             android:id="@+id/rl_check_1">
@@ -622,8 +619,8 @@
         android:layout_marginStart="10dp"
         app:layout_constraintStart_toEndOf="@id/rl_2">
         <RelativeLayout
-            android:layout_width="52dp"
-            android:layout_height="52dp"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
             android:background="@drawable/bg_blue_line_8dp"
             android:visibility="gone"
             android:id="@+id/rl_check_2">
@@ -644,8 +641,8 @@
         android:layout_marginStart="10dp"
         app:layout_constraintStart_toEndOf="@id/rl_3">
         <RelativeLayout
-            android:layout_width="52dp"
-            android:layout_height="52dp"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
             android:background="@drawable/bg_blue_line_8dp"
             android:visibility="gone"
             android:id="@+id/rl_check_3">
diff --git a/app/src/main/res/layout/fragment_include.xml b/app/src/main/res/layout/fragment_include.xml
index db1f053..deb9f52 100644
--- a/app/src/main/res/layout/fragment_include.xml
+++ b/app/src/main/res/layout/fragment_include.xml
@@ -12,22 +12,71 @@
         android:layout_height="0dp"
         android:padding="4dp"
         android:elevation="2dp"
-        android:layout_marginTop="14dp"
+        android:layout_marginTop="24dp"
         app:layout_constraintHorizontal_chainStyle="packed"
         app:layout_constraintVertical_chainStyle="packed"
         android:background="@drawable/bg_white_8dp"
-        app:layout_constraintTop_toBottomOf="@id/cl_voice1"
+        app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintBottom_toTopOf="@id/cl_4"
-        android:layout_marginBottom="130dp"
-        app:layout_constraintDimensionRatio="3:2"
+        android:layout_marginBottom="100dp"
+        app:layout_constraintDimensionRatio="296:244"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toStartOf="@id/cl_2"
         android:layout_marginEnd="10dp">
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="0dp"
+            android:layout_height="40dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            android:id="@+id/cl_voice1">
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:id="@+id/cl_voice1_real"
+                android:visibility="gone"
+                android:layout_height="match_parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                android:background="@drawable/selector_bg_voice">
+                <ImageView
+                    android:id="@+id/iv1_1"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/yuyin_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    android:layout_marginStart="25dp"/>
+                <ImageView
+                    android:id="@+id/iv2_1"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/play_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:layout_marginEnd="23dp"/>
+                <ImageView
+                    android:id="@+id/iv_playing_1"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:visibility="gone"
+                    android:src="@mipmap/bofangzhong_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent" />
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
             android:id="@+id/iv_1"
             app:actualImageScaleType="centerCrop"
+            android:layout_marginTop="40dp"
             android:layout_height="match_parent"/>
 
     </androidx.constraintlayout.widget.ConstraintLayout>
@@ -44,11 +93,60 @@
         app:layout_constraintStart_toEndOf="@id/cl_1"
         app:layout_constraintEnd_toStartOf="@id/cl_3"
         android:layout_marginEnd="10dp">
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="0dp"
+            android:layout_height="40dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            android:id="@+id/cl_voice2">
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:id="@+id/cl_voice2_real"
+                android:visibility="gone"
+                android:layout_height="match_parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                android:background="@drawable/selector_bg_voice">
+                <ImageView
+                    android:id="@+id/iv1_2"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/yuyin_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    android:layout_marginStart="25dp"/>
+                <ImageView
+                    android:id="@+id/iv2_2"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/play_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:layout_marginEnd="23dp"/>
+                <ImageView
+                    android:id="@+id/iv_playing_2"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:visibility="gone"
+                    android:src="@mipmap/bofangzhong_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent" />
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
             android:id="@+id/iv_2"
             app:actualImageScaleType="centerCrop"
+            android:layout_marginTop="40dp"
             android:layout_height="match_parent"/>
 
     </androidx.constraintlayout.widget.ConstraintLayout>
@@ -64,6 +162,53 @@
         app:layout_constraintBottom_toBottomOf="@id/cl_1"
         app:layout_constraintStart_toEndOf="@id/cl_2"
         app:layout_constraintEnd_toEndOf="parent">
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            app:layout_constraintTop_toTopOf="parent"
+            android:id="@+id/cl_voice3">
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:id="@+id/cl_voice3_real"
+                android:visibility="gone"
+                android:layout_height="match_parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                android:background="@drawable/selector_bg_voice">
+                <ImageView
+                    android:id="@+id/iv1_3"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/yuyin_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    android:layout_marginStart="25dp"/>
+                <ImageView
+                    android:id="@+id/iv2_3"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/play_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:layout_marginEnd="23dp"/>
+                <ImageView
+                    android:id="@+id/iv_playing_3"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:visibility="gone"
+                    android:src="@mipmap/bofangzhong_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent" />
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
@@ -71,6 +216,7 @@
             app:placeholderImage="@color/grey_f1"
             app:actualImageScaleType="centerCrop"
             app:failureImage="@color/grey_f1"
+            android:layout_marginTop="40dp"
             android:layout_height="match_parent"/>
 
     </androidx.constraintlayout.widget.ConstraintLayout>
@@ -82,17 +228,65 @@
         android:layout_height="0dp"
         android:padding="4dp"
         android:elevation="2dp"
-        android:layout_marginBottom="5dp"
+        android:layout_marginBottom="12dp"
         app:layout_constraintTop_toBottomOf="@id/cl_1"
         android:background="@drawable/bg_white_8dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintStart_toStartOf="@id/cl_1"
         app:layout_constraintEnd_toEndOf="@id/cl_1">
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:id="@+id/cl_voice4"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:id="@+id/cl_voice4_real"
+                android:visibility="gone"
+                android:layout_height="match_parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                android:background="@drawable/selector_bg_voice">
+                <ImageView
+                    android:id="@+id/iv1_4"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/yuyin_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    android:layout_marginStart="25dp"/>
+                <ImageView
+                    android:id="@+id/iv2_4"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/play_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:layout_marginEnd="23dp"/>
+                <ImageView
+                    android:id="@+id/iv_playing_4"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:visibility="gone"
+                    android:src="@mipmap/bofangzhong_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent" />
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
             android:id="@+id/iv_4"
             app:actualImageScaleType="centerCrop"
+            android:layout_marginTop="40dp"
             android:layout_height="match_parent"/>
 
     </androidx.constraintlayout.widget.ConstraintLayout>
@@ -109,12 +303,60 @@
         app:layout_constraintTop_toTopOf="@id/cl_4"
         app:layout_constraintStart_toStartOf="@id/cl_2"
         app:layout_constraintEnd_toEndOf="@id/cl_2">
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:id="@+id/cl_voice5"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:id="@+id/cl_voice5_real"
+                android:visibility="gone"
+                android:layout_height="match_parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                android:background="@drawable/selector_bg_voice">
+                <ImageView
+                    android:id="@+id/iv1_5"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/yuyin_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    android:layout_marginStart="25dp"/>
+                <ImageView
+                    android:id="@+id/iv2_5"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/play_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:layout_marginEnd="23dp"/>
+                <ImageView
+                    android:id="@+id/iv_playing_5"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:visibility="gone"
+                    android:src="@mipmap/bofangzhong_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent" />
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
             android:id="@+id/iv_5"
             app:placeholderImage="@color/grey_f1"
             app:actualImageScaleType="centerCrop"
+            android:layout_marginTop="40dp"
             app:failureImage="@color/grey_f1"
             android:layout_height="match_parent"/>
     </androidx.constraintlayout.widget.ConstraintLayout>
@@ -131,333 +373,69 @@
         app:layout_constraintTop_toTopOf="@id/cl_4"
         app:layout_constraintStart_toStartOf="@id/cl_3"
         app:layout_constraintEnd_toEndOf="@id/cl_3">
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="40dp"
+            android:id="@+id/cl_voice6"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:id="@+id/cl_voice6_real"
+                android:visibility="gone"
+                android:layout_height="match_parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                android:background="@drawable/selector_bg_voice">
+                <ImageView
+                    android:id="@+id/iv1_6"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/yuyin_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    android:layout_marginStart="25dp"/>
+                <ImageView
+                    android:id="@+id/iv2_6"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:layout_marginVertical="6dp"
+                    android:src="@mipmap/play_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    android:layout_marginEnd="23dp"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent" />
+                <ImageView
+                    android:id="@+id/iv_playing_6"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:visibility="gone"
+                    android:src="@mipmap/bofangzhong_2"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent" />
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
             android:id="@+id/iv_6"
             app:placeholderImage="@color/grey_f1"
             app:actualImageScaleType="centerCrop"
+            android:layout_marginTop="40dp"
             app:failureImage="@color/grey_f1"
             android:layout_height="match_parent"/>
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintStart_toStartOf="@id/cl_1"
-        app:layout_constraintEnd_toEndOf="@id/cl_1"
-        app:layout_constraintDimensionRatio="3:1"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="15dp"
-        android:layout_marginStart="4dp"
-        android:id="@+id/cl_voice1"
-        android:layout_marginEnd="40dp">
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:id="@+id/cl_voice1_real"
-            android:visibility="gone"
-            android:layout_height="match_parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:background="@drawable/selector_bg_voice">
-            <ImageView
-                android:id="@+id/iv1_1"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/yuyin"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
-            <ImageView
-                android:id="@+id/iv2_1"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/play"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
-            <ImageView
-                android:id="@+id/iv_playing_1"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintStart_toStartOf="@id/cl_2"
-        app:layout_constraintEnd_toEndOf="@id/cl_2"
-        app:layout_constraintDimensionRatio="3:1"
-        app:layout_constraintTop_toTopOf="@id/cl_voice1"
-        android:id="@+id/cl_voice2"
-        android:layout_marginStart="4dp"
-        android:layout_marginEnd="40dp">
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:id="@+id/cl_voice2_real"
-        android:visibility="gone"
-        android:layout_height="match_parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:background="@drawable/selector_bg_voice">
-        <ImageView
-            android:id="@+id/iv1_2"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:layout_marginVertical="6dp"
-            android:src="@mipmap/yuyin"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_marginStart="25dp"/>
-        <ImageView
-            android:id="@+id/iv2_2"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:layout_marginVertical="6dp"
-            android:src="@mipmap/play"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            android:layout_marginEnd="23dp"/>
-        <ImageView
-            android:id="@+id/iv_playing_2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintStart_toStartOf="@id/cl_3"
-        app:layout_constraintEnd_toEndOf="@id/cl_3"
-        app:layout_constraintDimensionRatio="3:1"
-        app:layout_constraintTop_toTopOf="@id/cl_voice1"
-        android:id="@+id/cl_voice3"
-        android:layout_marginStart="4dp"
-        android:layout_marginEnd="40dp">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:id="@+id/cl_voice3_real"
-            android:visibility="gone"
-            android:layout_height="match_parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:background="@drawable/selector_bg_voice">
-            <ImageView
-                android:id="@+id/iv1_3"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/yuyin"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
-            <ImageView
-                android:id="@+id/iv2_3"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/play"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
-            <ImageView
-                android:id="@+id/iv_playing_3"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintStart_toStartOf="@id/cl_4"
-        app:layout_constraintEnd_toEndOf="@id/cl_4"
-        app:layout_constraintDimensionRatio="3:1"
-        app:layout_constraintBottom_toTopOf="@id/cl_4"
-        android:layout_marginBottom="14dp"
-        android:id="@+id/cl_voice4"
-        android:layout_marginStart="4dp"
-        android:layout_marginEnd="40dp">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:id="@+id/cl_voice4_real"
-            android:visibility="gone"
-            android:layout_height="match_parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:background="@drawable/selector_bg_voice">
-            <ImageView
-                android:id="@+id/iv1_4"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/yuyin"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
-            <ImageView
-                android:id="@+id/iv2_4"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/play"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
-            <ImageView
-                android:id="@+id/iv_playing_4"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintStart_toStartOf="@id/cl_5"
-        app:layout_constraintEnd_toEndOf="@id/cl_5"
-        app:layout_constraintDimensionRatio="3:1"
-        android:layout_marginEnd="40dp"
-        app:layout_constraintTop_toTopOf="@id/cl_voice4"
-        android:id="@+id/cl_voice5"
-        android:layout_marginStart="4dp">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:id="@+id/cl_voice5_real"
-            android:visibility="gone"
-            android:layout_height="match_parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:background="@drawable/selector_bg_voice">
-            <ImageView
-                android:id="@+id/iv1_5"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/yuyin"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
-            <ImageView
-                android:id="@+id/iv2_5"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/play"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                android:layout_marginEnd="23dp"/>
-            <ImageView
-                android:id="@+id/iv_playing_5"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintStart_toStartOf="@id/cl_6"
-        app:layout_constraintEnd_toEndOf="@id/cl_6"
-        app:layout_constraintDimensionRatio="3:1"
-        android:layout_marginEnd="40dp"
-        app:layout_constraintTop_toTopOf="@id/cl_voice4"
-        android:id="@+id/cl_voice6"
-        android:layout_marginStart="4dp">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:id="@+id/cl_voice6_real"
-            android:visibility="gone"
-            android:layout_height="match_parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:background="@drawable/selector_bg_voice">
-            <ImageView
-                android:id="@+id/iv1_6"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/yuyin"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                android:layout_marginStart="25dp"/>
-            <ImageView
-                android:id="@+id/iv2_6"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:layout_marginVertical="6dp"
-                android:src="@mipmap/play"
-                app:layout_constraintTop_toTopOf="parent"
-                android:layout_marginEnd="23dp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent" />
-            <ImageView
-                android:id="@+id/iv_playing_6"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="85dp"
-        android:layout_height="52dp"
+        android:layout_width="96dp"
+        android:layout_height="60dp"
         android:id="@+id/iv_answer_3"
         app:failureImage="@null"
         app:layout_constraintStart_toStartOf="@id/cl_answer_3"
@@ -467,8 +445,8 @@
         app:roundedCornerRadius="8dp"/>
 
     <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="85dp"
-        android:layout_height="52dp"
+        android:layout_width="96dp"
+        android:layout_height="60dp"
         android:id="@+id/iv_answer_2"
         app:failureImage="@null"
         android:elevation="2dp"
@@ -478,8 +456,8 @@
         app:roundedCornerRadius="8dp"/>
 
     <com.facebook.drawee.view.SimpleDraweeView
-        android:layout_width="85dp"
-        android:layout_height="52dp"
+        android:layout_width="96dp"
+        android:layout_height="60dp"
         android:id="@+id/iv_answer_1"
         android:elevation="2dp"
         app:actualImageScaleType="centerCrop"
@@ -489,14 +467,14 @@
         app:roundedCornerRadius="8dp"/>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="85dp"
-        android:layout_height="52dp"
+        android:layout_width="96dp"
+        android:layout_height="60dp"
         android:id="@+id/cl_answer_3"
         app:layout_constraintEnd_toEndOf="@id/cl_3"
         android:elevation="2dp"
         app:layout_constraintTop_toBottomOf="@id/cl_3"
         android:layout_marginEnd="23dp"
-        android:layout_marginTop="6dp">
+        android:layout_marginTop="16dp">
         <ImageView
             android:id="@+id/iv_error_3"
             android:layout_width="42dp"
@@ -519,14 +497,14 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="85dp"
-        android:layout_height="52dp"
+        android:layout_width="96dp"
+        android:layout_height="60dp"
         android:id="@+id/cl_answer_2"
         android:elevation="2dp"
         app:layout_constraintEnd_toStartOf="@id/cl_answer_3"
         app:layout_constraintTop_toBottomOf="@id/cl_3"
         android:layout_marginEnd="5dp"
-        android:layout_marginTop="6dp">
+        android:layout_marginTop="16dp">
         <ImageView
             android:id="@+id/iv_error_2"
             android:layout_width="42dp"
@@ -549,14 +527,14 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="85dp"
-        android:layout_height="52dp"
+        android:layout_width="96dp"
+        android:layout_height="60dp"
         android:id="@+id/cl_answer_1"
         android:elevation="2dp"
         app:layout_constraintEnd_toStartOf="@id/cl_answer_2"
         app:layout_constraintTop_toBottomOf="@id/cl_3"
         android:layout_marginEnd="5dp"
-        android:layout_marginTop="6dp">
+        android:layout_marginTop="16dp">
         <ImageView
             android:id="@+id/iv_error_1"
             android:layout_width="42dp"
diff --git a/app/src/main/res/layout/fragment_listen.xml b/app/src/main/res/layout/fragment_listen.xml
index 5f7972d..fd483d0 100644
--- a/app/src/main/res/layout/fragment_listen.xml
+++ b/app/src/main/res/layout/fragment_listen.xml
@@ -31,7 +31,7 @@
         <View
             android:layout_width="match_parent"
             android:layout_height="40dp"
-            android:background="@color/page_bg"
+            android:background="@color/white"
             android:id="@+id/top_1"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
@@ -62,7 +62,7 @@
             android:layout_width="match_parent"
             android:layout_height="40dp"
             android:id="@+id/top_2"
-            android:background="@color/page_bg"
+            android:background="@color/white"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
@@ -92,7 +92,7 @@
             android:layout_width="match_parent"
             android:layout_height="40dp"
             android:id="@+id/top_3"
-            android:background="@color/page_bg"
+            android:background="@color/white"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
@@ -126,7 +126,7 @@
             android:layout_width="match_parent"
             android:layout_height="40dp"
             android:id="@+id/top_4"
-            android:background="@color/page_bg"
+            android:background="@color/white"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
@@ -141,15 +141,15 @@
     </androidx.constraintlayout.motion.widget.MotionLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="230dp"
+        android:layout_height="40dp"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="24dp"
         android:elevation="2dp"
         android:id="@+id/cl_voice"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <androidx.constraintlayout.widget.Guideline
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
@@ -160,7 +160,7 @@
             android:id="@+id/iv1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toStartOf="@id/center_v"
@@ -169,7 +169,7 @@
             android:id="@+id/iv2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/center_v"
@@ -179,7 +179,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/fragment_match.xml b/app/src/main/res/layout/fragment_match.xml
index 9e2f596..11baaca 100644
--- a/app/src/main/res/layout/fragment_match.xml
+++ b/app/src/main/res/layout/fragment_match.xml
@@ -16,25 +16,25 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:id="@+id/line1"
-        app:layout_constraintGuide_percent="0.2"
+        app:layout_constraintGuide_percent="0.15"
         android:orientation="vertical"/>
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:id="@+id/line2"
-        app:layout_constraintGuide_percent="0.4"
+        app:layout_constraintGuide_percent="0.38"
         android:orientation="vertical"/>
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:id="@+id/line3"
-        app:layout_constraintGuide_percent="0.6"
+        app:layout_constraintGuide_percent="0.62"
         android:orientation="vertical"/>
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:id="@+id/line4"
-        app:layout_constraintGuide_percent="0.8"
+        app:layout_constraintGuide_percent="0.85"
         android:orientation="vertical"/>
     <TextView
         android:layout_width="match_parent"
@@ -44,6 +44,7 @@
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginTop="70dp"
         android:textSize="16sp"
+        android:visibility="gone"
         android:textColor="@color/black"
         android:textStyle="bold"/>
     <androidx.constraintlayout.motion.widget.MotionLayout
@@ -65,7 +66,7 @@
         <View
             android:layout_width="match_parent"
             android:layout_height="40dp"
-            android:background="@color/page_bg"
+            android:background="@color/match_gray"
             android:id="@+id/top_1"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
@@ -91,25 +92,25 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_1"
-            android:background="@color/colorPrimary"
+            android:background="@color/white"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
                 android:id="@+id/iv1_1_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintEnd_toStartOf="@id/iv2_1_end"
                 app:layout_constraintHorizontal_chainStyle="packed"
-                android:layout_marginEnd="52dp"/>
+                android:layout_marginEnd="40dp"/>
             <ImageView
                 android:id="@+id/iv2_1_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_1_end"
@@ -119,7 +120,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -145,7 +146,7 @@
             android:layout_width="match_parent"
             android:layout_height="40dp"
             android:id="@+id/top_2"
-            android:background="@color/page_bg"
+            android:background="@color/match_gray"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
@@ -169,25 +170,25 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_2"
-            android:background="@color/colorPrimary"
+            android:background="@color/white"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
                 android:id="@+id/iv1_2_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintEnd_toStartOf="@id/iv2_2_end"
                 app:layout_constraintHorizontal_chainStyle="packed"
-                android:layout_marginEnd="52dp"/>
+                android:layout_marginEnd="40dp"/>
             <ImageView
                 android:id="@+id/iv2_2_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_2_end"
@@ -197,7 +198,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -224,7 +225,7 @@
             android:layout_width="match_parent"
             android:layout_height="40dp"
             android:id="@+id/top_3"
-            android:background="@color/page_bg"
+            android:background="@color/match_gray"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
@@ -255,25 +256,25 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_3"
-            android:background="@color/colorPrimary"
+            android:background="@color/white"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
                 android:id="@+id/iv1_3_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintEnd_toStartOf="@id/iv2_3_end"
                 app:layout_constraintHorizontal_chainStyle="packed"
-                android:layout_marginEnd="52dp"/>
+                android:layout_marginEnd="40dp"/>
             <ImageView
                 android:id="@+id/iv2_3_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_3_end"
@@ -283,7 +284,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -309,7 +310,7 @@
             android:layout_width="match_parent"
             android:layout_height="40dp"
             android:id="@+id/top_4"
-            android:background="@color/page_bg"
+            android:background="@color/match_gray"
             app:layout_constraintTop_toTopOf="parent"/>
         <com.facebook.drawee.view.SimpleDraweeView
             android:layout_width="match_parent"
@@ -336,25 +337,25 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:id="@+id/cl_voice_end_4"
-            android:background="@color/colorPrimary"
+            android:background="@color/white"
             android:visibility="gone"
             android:layout_height="match_parent">
             <ImageView
                 android:id="@+id/iv1_4_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/yuyin"
+                android:src="@mipmap/yuyin_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintEnd_toStartOf="@id/iv2_4_end"
                 app:layout_constraintHorizontal_chainStyle="packed"
-                android:layout_marginEnd="52dp"/>
+                android:layout_marginEnd="40dp"/>
             <ImageView
                 android:id="@+id/iv2_4_end"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@mipmap/play"
+                android:src="@mipmap/play_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toEndOf="@id/iv1_4_end"
@@ -364,7 +365,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:src="@mipmap/bofangzhong"
+                android:src="@mipmap/bofangzhong_2"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
@@ -375,30 +376,30 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="200dp"
+        android:layout_height="40dp"
         app:layout_constraintTop_toTopOf="parent"
         android:id="@+id/cl_voice_1"
         app:layout_constraintStart_toStartOf="@id/line1"
         app:layout_constraintEnd_toEndOf="@id/line1"
         android:layout_marginTop="15dp"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintEnd_toStartOf="@id/iv2_1"
             app:layout_constraintHorizontal_chainStyle="packed"
-            android:layout_marginEnd="52dp"/>
+            android:layout_marginEnd="40dp"/>
         <ImageView
             android:id="@+id/iv2_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_1"
@@ -407,7 +408,7 @@
             android:id="@+id/iv_playing_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             android:visibility="invisible"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
@@ -415,30 +416,30 @@
             app:layout_constraintStart_toStartOf="parent" />
     </androidx.constraintlayout.widget.ConstraintLayout>
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="200dp"
+        android:layout_height="40dp"
         app:layout_constraintTop_toTopOf="parent"
         android:id="@+id/cl_voice_2"
         app:layout_constraintStart_toStartOf="@id/line2"
         app:layout_constraintEnd_toEndOf="@id/line2"
         android:layout_marginTop="15dp"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintEnd_toStartOf="@id/iv2_2"
             app:layout_constraintHorizontal_chainStyle="packed"
-            android:layout_marginEnd="52dp"/>
+            android:layout_marginEnd="40dp"/>
         <ImageView
             android:id="@+id/iv2_2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_2"
@@ -448,37 +449,37 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent" />
     </androidx.constraintlayout.widget.ConstraintLayout>
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="200dp"
+        android:layout_height="40dp"
         app:layout_constraintTop_toTopOf="parent"
         android:id="@+id/cl_voice_3"
         app:layout_constraintStart_toStartOf="@id/line3"
         app:layout_constraintEnd_toEndOf="@id/line3"
         android:layout_marginTop="15dp"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintEnd_toStartOf="@id/iv2_3"
             app:layout_constraintHorizontal_chainStyle="packed"
-            android:layout_marginEnd="52dp"/>
+            android:layout_marginEnd="40dp"/>
         <ImageView
             android:id="@+id/iv2_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_3"
@@ -488,38 +489,38 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent" />
     </androidx.constraintlayout.widget.ConstraintLayout>
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="200dp"
+        android:layout_height="40dp"
         app:layout_constraintTop_toTopOf="parent"
         
         android:id="@+id/cl_voice_4"
         app:layout_constraintStart_toStartOf="@id/line4"
         app:layout_constraintEnd_toEndOf="@id/line4"
         android:layout_marginTop="15dp"
-        android:background="@drawable/bg_blue_8dp">
+        android:background="@drawable/bg_white_8dp">
         <ImageView
             android:id="@+id/iv1_4"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintEnd_toStartOf="@id/iv2_4"
             app:layout_constraintHorizontal_chainStyle="packed"
-            android:layout_marginEnd="52dp"/>
+            android:layout_marginEnd="40dp"/>
         <ImageView
             android:id="@+id/iv2_4"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toEndOf="@id/iv1_4"
@@ -529,7 +530,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -537,12 +538,12 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
     <LinearLayout
         android:id="@+id/ll_2"
-        android:layout_width="159dp"
+        android:layout_width="200dp"
         android:layout_marginTop="15dp"
         app:layout_constraintStart_toStartOf="@id/line2"
         app:layout_constraintEnd_toStartOf="@id/line2"
         app:layout_constraintTop_toTopOf="parent"
-        android:layout_height="52dp">
+        android:layout_height="40dp">
         <View
             android:layout_width="match_parent"
             android:layout_height="match_parent"
@@ -552,12 +553,12 @@
     </LinearLayout>
     <LinearLayout
         android:id="@+id/ll_3"
-        android:layout_width="159dp"
+        android:layout_width="200dp"
         android:layout_marginTop="15dp"
         app:layout_constraintStart_toStartOf="@id/line3"
         app:layout_constraintEnd_toStartOf="@id/line3"
         app:layout_constraintTop_toTopOf="parent"
-        android:layout_height="52dp">
+        android:layout_height="40dp">
         <View
             android:layout_width="match_parent"
             android:layout_height="match_parent"
@@ -567,12 +568,12 @@
     </LinearLayout>
     <LinearLayout
         android:id="@+id/ll_4"
-        android:layout_width="159dp"
+        android:layout_width="200dp"
         android:layout_marginTop="15dp"
         app:layout_constraintStart_toStartOf="@id/line4"
         app:layout_constraintEnd_toStartOf="@id/line4"
         app:layout_constraintTop_toTopOf="parent"
-        android:layout_height="52dp">
+        android:layout_height="40dp">
         <View
             android:layout_width="match_parent"
             android:layout_height="match_parent"
@@ -582,12 +583,12 @@
     </LinearLayout>
     <LinearLayout
         android:id="@+id/ll_1"
-        android:layout_width="159dp"
+        android:layout_width="200dp"
         android:layout_marginTop="15dp"
         app:layout_constraintStart_toStartOf="@id/line1"
         app:layout_constraintEnd_toStartOf="@id/line1"
         app:layout_constraintTop_toTopOf="parent"
-        android:layout_height="52dp">
+        android:layout_height="40dp">
         <View
             android:layout_width="match_parent"
             android:layout_height="match_parent"
diff --git a/app/src/main/res/layout/fragment_q_a.xml b/app/src/main/res/layout/fragment_q_a.xml
index 8baaa2e..ba664ba 100644
--- a/app/src/main/res/layout/fragment_q_a.xml
+++ b/app/src/main/res/layout/fragment_q_a.xml
@@ -13,20 +13,59 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_1"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_marginTop="96dp"
+        android:layout_marginEnd="30dp"
+        android:layout_marginBottom="8dp"
+        android:background="@drawable/bg_white_8dp"
+        android:padding="4dp"
+        app:layout_constraintBottom_toTopOf="@id/cl_3"
+        app:layout_constraintDimensionRatio="341:244"
+        app:layout_constraintEnd_toStartOf="@id/center"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_chainStyle="packed">
+
+        <com.facebook.drawee.view.SimpleDraweeView
+            android:id="@+id/iv_1"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginTop="40dp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/iv_right_1"
+            android:src="@mipmap/successs"
+            android:visibility="gone"
+            android:layout_marginTop="30dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"/>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_voice_1"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:layout_marginTop="24dp"
-        android:background="@drawable/bg_blue_8dp"
+        android:layout_width="0dp"
+        android:layout_height="40dp"
+        android:background="@drawable/bg_white_8dp"
+        app:layout_constraintTop_toTopOf="@id/cl_1"
         app:layout_constraintStart_toStartOf="@id/cl_1"
-        app:layout_constraintTop_toTopOf="parent">
+        app:layout_constraintEnd_toEndOf="@id/cl_1"
+        android:layout_margin="4dp">
 
         <ImageView
             android:id="@+id/iv1_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -37,7 +76,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginEnd="20dp"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -47,7 +86,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginStart="20dp"
-            android:src="@mipmap/voice_question"
+            android:src="@mipmap/voice_question_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -56,7 +95,7 @@
             android:id="@+id/iv_playing_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -65,57 +104,56 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
+
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_1"
+        android:id="@+id/cl_3"
         android:layout_width="0dp"
         android:layout_height="0dp"
-        android:layout_marginTop="96dp"
-        android:layout_marginEnd="30dp"
+        android:layout_marginTop="10dp"
+        android:layout_marginEnd="11dp"
         android:layout_marginBottom="8dp"
         android:background="@drawable/bg_white_8dp"
-        
         android:padding="4dp"
-        app:layout_constraintBottom_toTopOf="@id/cl_voice_3"
-        app:layout_constraintDimensionRatio="333:259"
-        app:layout_constraintEnd_toStartOf="@id/center"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintVertical_chainStyle="packed">
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintDimensionRatio="341:244"
+        app:layout_constraintStart_toStartOf="@id/cl_1"
+        app:layout_constraintTop_toBottomOf="@id/cl_1">
 
         <com.facebook.drawee.view.SimpleDraweeView
-            android:id="@+id/iv_1"
+            android:id="@+id/iv_3"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            android:layout_marginTop="40dp"
+            app:actualImageScaleType="centerCrop" />
 
         <ImageView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:id="@+id/iv_right_1"
+            android:id="@+id/iv_right_3"
             android:src="@mipmap/successs"
             android:visibility="gone"
+            android:layout_marginTop="30dp"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"/>
-
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_voice_3"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:layout_marginTop="8dp"
-        android:background="@drawable/selector_bg_voice"
-        app:layout_constraintBottom_toTopOf="@id/cl_3"
-        app:layout_constraintStart_toStartOf="@id/cl_3"
-        app:layout_constraintTop_toBottomOf="@id/cl_1">
+        android:layout_width="0dp"
+        android:layout_height="40dp"
+        app:layout_constraintTop_toTopOf="@id/cl_3"
+        app:layout_constraintEnd_toEndOf="@id/cl_3"
+        android:layout_margin="4dp"
+        android:background="@drawable/selector_bg_white_grey"
+        app:layout_constraintStart_toStartOf="@id/cl_3">
 
         <ImageView
             android:id="@+id/iv1_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -126,7 +164,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginEnd="20dp"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -136,7 +174,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginStart="20dp"
-            android:src="@mipmap/voice_question"
+            android:src="@mipmap/voice_question_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -145,7 +183,7 @@
             android:id="@+id/iv_playing_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -154,90 +192,6 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_3"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:layout_marginTop="10dp"
-        android:layout_marginEnd="11dp"
-        android:layout_marginBottom="8dp"
-        android:background="@drawable/bg_white_8dp"
-        
-        android:padding="4dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintDimensionRatio="333:259"
-        app:layout_constraintStart_toStartOf="@id/cl_1"
-        app:layout_constraintTop_toBottomOf="@id/cl_voice_3">
-
-        <com.facebook.drawee.view.SimpleDraweeView
-            android:id="@+id/iv_3"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            app:actualImageScaleType="centerCrop" />
-
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:id="@+id/iv_right_3"
-            android:src="@mipmap/successs"
-            android:visibility="gone"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"/>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_voice_2"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:layout_marginTop="24dp"
-        android:background="@drawable/bg_blue_8dp"
-        app:layout_constraintStart_toStartOf="@id/cl_2"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:id="@+id/iv1_2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <ImageView
-            android:id="@+id/iv2_2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginEnd="20dp"
-            android:src="@mipmap/play"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <ImageView
-            android:id="@+id/iv3_2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="20dp"
-            android:src="@mipmap/voice_answer"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <ImageView
-            android:id="@+id/iv_playing_2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_2"
@@ -248,13 +202,14 @@
         
         android:padding="4dp"
         app:layout_constraintBottom_toBottomOf="@id/cl_1"
-        app:layout_constraintDimensionRatio="333:259"
+        app:layout_constraintDimensionRatio="341:244"
         app:layout_constraintStart_toEndOf="@id/center"
         app:layout_constraintTop_toTopOf="@id/cl_1">
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:id="@+id/iv_2"
             android:layout_width="match_parent"
+            android:layout_marginTop="40dp"
             android:layout_height="match_parent"
             app:actualImageScaleType="centerCrop" />
 
@@ -263,12 +218,67 @@
             android:layout_height="wrap_content"
             android:id="@+id/iv_right_2"
             android:src="@mipmap/successs"
+            android:layout_marginTop="30dp"
             android:visibility="gone"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"/>
     </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_voice_2"
+        android:layout_width="0dp"
+        android:layout_height="40dp"
+        android:background="@drawable/bg_white_8dp"
+        app:layout_constraintTop_toTopOf="@id/cl_2"
+        app:layout_constraintStart_toStartOf="@id/cl_2"
+        app:layout_constraintEnd_toEndOf="@id/cl_2"
+        android:layout_margin="4dp">
+
+        <ImageView
+            android:id="@+id/iv1_2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/yuyin_2"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/iv2_2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="20dp"
+            android:src="@mipmap/play_2"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/iv3_2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="20dp"
+            android:src="@mipmap/voice_answer_2"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/iv_playing_2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/bofangzhong_2"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_4"
@@ -279,13 +289,14 @@
         
         android:padding="4dp"
         app:layout_constraintBottom_toBottomOf="@id/cl_3"
-        app:layout_constraintDimensionRatio="333:259"
+        app:layout_constraintDimensionRatio="341:244"
         app:layout_constraintStart_toEndOf="@id/center"
         app:layout_constraintTop_toTopOf="@id/cl_3">
 
         <com.facebook.drawee.view.SimpleDraweeView
             android:id="@+id/iv_4"
             android:layout_width="match_parent"
+            android:layout_marginTop="40dp"
             android:layout_height="match_parent"
             app:actualImageScaleType="centerCrop" />
 
@@ -295,26 +306,28 @@
             android:id="@+id/iv_right_4"
             android:src="@mipmap/successs"
             android:visibility="gone"
+            android:layout_marginTop="30dp"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"/>
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_voice_4"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:background="@drawable/selector_bg_voice"
+        android:layout_width="0dp"
         app:layout_constraintStart_toStartOf="@id/cl_4"
-        app:layout_constraintTop_toTopOf="@id/cl_voice_3">
+        app:layout_constraintEnd_toEndOf="@id/cl_4"
+        android:layout_height="40dp"
+        android:background="@drawable/selector_bg_white_grey"
+        app:layout_constraintTop_toTopOf="@id/cl_4"
+        android:layout_margin="4dp">
 
         <ImageView
             android:id="@+id/iv1_4"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -325,7 +338,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginEnd="20dp"
-            android:src="@mipmap/play"
+            android:src="@mipmap/play_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -335,7 +348,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginStart="20dp"
-            android:src="@mipmap/voice_answer"
+            android:src="@mipmap/voice_answer_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -344,7 +357,7 @@
             android:id="@+id/iv_playing_4"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -353,10 +366,11 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
+
     <View
         android:id="@+id/position_2"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="180dp"
+        android:layout_height="40dp"
         android:layout_marginEnd="72dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
@@ -364,8 +378,8 @@
 
     <View
         android:id="@+id/position_1"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
+        android:layout_width="180dp"
+        android:layout_height="40dp"
         android:layout_marginEnd="72dp"
         android:layout_marginBottom="40dp"
         app:layout_constraintBottom_toTopOf="@id/position_2"
@@ -373,19 +387,19 @@
 
     <View
         android:id="@+id/position_3"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:layout_marginTop="40dp"
+        android:layout_width="180dp"
+        android:layout_height="40dp"
         android:layout_marginEnd="72dp"
+        android:layout_marginTop="40dp"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toBottomOf="@id/position_2" />
 
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_answer_1"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:background="@drawable/bg_blue_8dp"
+        android:layout_width="180dp"
+        android:layout_height="40dp"
+        android:background="@drawable/bg_white_8dp"
         android:visibility="gone"
         app:layout_constraintStart_toStartOf="@id/position_1"
         app:layout_constraintTop_toTopOf="@id/position_1">
@@ -394,7 +408,7 @@
             android:id="@+id/iv1_answer_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -405,7 +419,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginStart="20dp"
-            android:src="@mipmap/voice_answer"
+            android:src="@mipmap/voice_answer_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -414,7 +428,7 @@
             android:id="@+id/iv_playing_answer_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -435,9 +449,9 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_answer_2"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:background="@drawable/bg_blue_8dp"
+        android:layout_width="180dp"
+        android:layout_height="40dp"
+        android:background="@drawable/bg_white_8dp"
         android:visibility="gone"
         app:layout_constraintStart_toStartOf="@id/position_2"
         app:layout_constraintTop_toTopOf="@id/position_2">
@@ -446,7 +460,7 @@
             android:id="@+id/iv1_answer_2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -457,7 +471,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginStart="20dp"
-            android:src="@mipmap/voice_answer"
+            android:src="@mipmap/voice_answer_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -466,7 +480,7 @@
             android:id="@+id/iv_playing_answer_2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -488,9 +502,9 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_answer_3"
-        android:layout_width="159dp"
-        android:layout_height="52dp"
-        android:background="@drawable/bg_blue_8dp"
+        android:layout_width="180dp"
+        android:layout_height="40dp"
+        android:background="@drawable/bg_white_8dp"
         android:visibility="gone"
         app:layout_constraintStart_toStartOf="@id/position_3"
         app:layout_constraintTop_toTopOf="@id/position_3">
@@ -499,7 +513,7 @@
             android:id="@+id/iv1_answer_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/yuyin"
+            android:src="@mipmap/yuyin_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
@@ -510,7 +524,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginStart="20dp"
-            android:src="@mipmap/voice_answer"
+            android:src="@mipmap/voice_answer_2"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -519,7 +533,7 @@
             android:id="@+id/iv_playing_answer_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/bofangzhong"
+            android:src="@mipmap/bofangzhong_2"
             android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
@@ -549,8 +563,8 @@
 
         <RelativeLayout
             android:id="@+id/rl_check_1"
-            android:layout_width="52dp"
-            android:layout_height="52dp"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
             android:background="@drawable/selector_enable_choose"
             android:visibility="gone">
 
@@ -574,8 +588,8 @@
 
         <RelativeLayout
             android:id="@+id/rl_check_2"
-            android:layout_width="52dp"
-            android:layout_height="52dp"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
             android:background="@drawable/selector_enable_choose"
             android:visibility="gone">
 
@@ -599,8 +613,8 @@
 
         <RelativeLayout
             android:id="@+id/rl_check_3"
-            android:layout_width="52dp"
-            android:layout_height="52dp"
+            android:layout_width="40dp"
+            android:layout_height="40dp"
             android:background="@drawable/selector_enable_choose"
             android:visibility="gone">
 
diff --git a/app/src/main/res/layout/item_index.xml b/app/src/main/res/layout/item_index.xml
new file mode 100644
index 0000000..396243d
--- /dev/null
+++ b/app/src/main/res/layout/item_index.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="28dp"
+    android:layout_height="25dp"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:background="@color/white">
+    <TextView
+        android:id="@+id/tv_sort"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:text="1"
+        android:gravity="center"
+        android:textSize="14sp"
+        android:textStyle="bold" />
+    <View
+        android:layout_width="1dp"
+        android:layout_height="match_parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        android:id="@+id/line"
+        android:background="@color/textColor66"/>
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xxhdpi/bofangzhong_2.png b/app/src/main/res/mipmap-xxhdpi/bofangzhong_2.png
new file mode 100644
index 0000000..83c9194
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/bofangzhong_2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/play_2.png b/app/src/main/res/mipmap-xxhdpi/play_2.png
new file mode 100644
index 0000000..9a87185
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/play_2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/voice_answer_2.png b/app/src/main/res/mipmap-xxhdpi/voice_answer_2.png
new file mode 100644
index 0000000..b1bf021
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/voice_answer_2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/voice_question_2.png b/app/src/main/res/mipmap-xxhdpi/voice_question_2.png
new file mode 100644
index 0000000..b3bf018
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/voice_question_2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/yuyin_2.png b/app/src/main/res/mipmap-xxhdpi/yuyin_2.png
new file mode 100644
index 0000000..6262068
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/yuyin_2.png
Binary files differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index bfd1865..aad8fa7 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -22,4 +22,5 @@
     <color name="colorLittleBlue">#F4FAFE</color>
     <color name="dkplayer_theme_color">@color/colorAccent</color>
     <color name="page_bg">#C3BFB3</color>
+    <color name="match_gray">#D4D2CD</color>
 </resources>
diff --git a/app/src/main/res/xml/fragment_include_scene.xml b/app/src/main/res/xml/fragment_include_scene.xml
index 99a4f79..5cb19da 100644
--- a/app/src/main/res/xml/fragment_include_scene.xml
+++ b/app/src/main/res/xml/fragment_include_scene.xml
@@ -13,24 +13,24 @@
 
     <ConstraintSet android:id="@+id/start_1">
         <Constraint android:id="@+id/iv_answer_1"
-            android:layout_width="85dp"
-            android:layout_height="52dp"
+            android:layout_width="96dp"
+            android:layout_height="60dp"
             motion:layout_constraintStart_toStartOf="@+id/cl_answer_1"
             motion:layout_constraintTop_toTopOf="@+id/cl_answer_1" />
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/start_2">
         <Constraint android:id="@+id/iv_answer_2"
-            android:layout_width="85dp"
-            android:layout_height="52dp"
+            android:layout_width="96dp"
+            android:layout_height="60dp"
             motion:layout_constraintStart_toStartOf="@+id/cl_answer_2"
             motion:layout_constraintTop_toTopOf="@+id/cl_answer_2" />
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/start_3">
         <Constraint android:id="@+id/iv_answer_3"
-            android:layout_width="85dp"
-            android:layout_height="52dp"
+            android:layout_width="96dp"
+            android:layout_height="60dp"
             motion:layout_constraintStart_toStartOf="@+id/cl_answer_3"
             motion:layout_constraintTop_toTopOf="@+id/cl_answer_3" />
     </ConstraintSet>
@@ -44,7 +44,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_3"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_3"
             motion:layout_constraintTop_toTopOf="@+id/cl_3"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -58,7 +58,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_5"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_5"
             motion:layout_constraintTop_toTopOf="@+id/cl_5"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -72,7 +72,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_6"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_6"
             motion:layout_constraintTop_toTopOf="@+id/cl_6"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -87,7 +87,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_3"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_3"
             motion:layout_constraintTop_toTopOf="@+id/cl_3"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -101,7 +101,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_5"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_5"
             motion:layout_constraintTop_toTopOf="@+id/cl_5"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -115,7 +115,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_6"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_6"
             motion:layout_constraintTop_toTopOf="@+id/cl_6"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -130,7 +130,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_3"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_3"
             motion:layout_constraintTop_toTopOf="@+id/cl_3"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -144,7 +144,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_5"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_5"
             motion:layout_constraintTop_toTopOf="@+id/cl_5"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
@@ -158,7 +158,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_6"
             motion:layout_constraintBottom_toBottomOf="@+id/cl_6"
             motion:layout_constraintTop_toTopOf="@+id/cl_6"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="44dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_marginBottom="4dp"/>
diff --git a/app/src/main/res/xml/scene_fragment_choose_voice.xml b/app/src/main/res/xml/scene_fragment_choose_voice.xml
index c9115e0..266a53c 100644
--- a/app/src/main/res/xml/scene_fragment_choose_voice.xml
+++ b/app/src/main/res/xml/scene_fragment_choose_voice.xml
@@ -17,27 +17,27 @@
         <Constraint android:id="@+id/cl_voice1"
             motion:layout_constraintStart_toStartOf="@+id/rl_1"
             motion:layout_constraintTop_toTopOf="parent"
-            android:layout_width="159dp"
+            android:layout_width="230dp"
             android:layout_marginTop="24dp"
-            android:layout_height="52dp"/>
+            android:layout_height="40dp"/>
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/start_2">
         <Constraint android:id="@+id/cl_voice2"
             motion:layout_constraintStart_toStartOf="@+id/rl_2"
             motion:layout_constraintTop_toTopOf="parent"
-            android:layout_width="159dp"
+            android:layout_width="230dp"
             android:layout_marginTop="24dp"
-            android:layout_height="52dp"/>
+            android:layout_height="40dp"/>
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/start_3">
         <Constraint android:id="@+id/cl_voice3"
             motion:layout_constraintStart_toStartOf="@+id/rl_3"
             motion:layout_constraintTop_toTopOf="parent"
-            android:layout_width="159dp"
+            android:layout_width="230dp"
             android:layout_marginTop="24dp"
-            android:layout_height="52dp"/>
+            android:layout_height="40dp"/>
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/end_1_1">
@@ -45,7 +45,7 @@
             motion:layout_constraintStart_toStartOf="@+id/cl_1"
             motion:layout_constraintEnd_toEndOf="@+id/cl_1"
             motion:layout_constraintTop_toTopOf="@+id/cl_1"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_width="0dp"
@@ -58,7 +58,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_2"
             motion:layout_constraintTop_toTopOf="@+id/cl_2"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -70,7 +70,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_3"
             motion:layout_constraintTop_toTopOf="@+id/cl_3"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -82,7 +82,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_4"
             motion:layout_constraintTop_toTopOf="@+id/cl_4"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -93,7 +93,7 @@
             motion:layout_constraintStart_toStartOf="@+id/cl_1"
             motion:layout_constraintEnd_toEndOf="@+id/cl_1"
             motion:layout_constraintTop_toTopOf="@+id/cl_1"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_width="0dp"
@@ -106,7 +106,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_2"
             motion:layout_constraintTop_toTopOf="@+id/cl_2"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -118,7 +118,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_3"
             motion:layout_constraintTop_toTopOf="@+id/cl_3"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -130,7 +130,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_4"
             motion:layout_constraintTop_toTopOf="@+id/cl_4"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -141,7 +141,7 @@
             motion:layout_constraintStart_toStartOf="@+id/cl_1"
             motion:layout_constraintEnd_toEndOf="@+id/cl_1"
             motion:layout_constraintTop_toTopOf="@+id/cl_1"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_width="0dp"
@@ -154,7 +154,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_2"
             motion:layout_constraintTop_toTopOf="@+id/cl_2"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -166,7 +166,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_3"
             motion:layout_constraintTop_toTopOf="@+id/cl_3"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
@@ -178,7 +178,7 @@
             motion:layout_constraintEnd_toEndOf="@+id/cl_4"
             motion:layout_constraintTop_toTopOf="@+id/cl_4"
             android:layout_width="0dp"
-            android:layout_marginTop="4dp"
+            android:layout_marginTop="8dp"
             android:layout_marginStart="4dp"
             android:layout_marginEnd="4dp"
             android:layout_height="40dp"/>
diff --git a/app/src/main/res/xml/scene_fragment_listen_voice.xml b/app/src/main/res/xml/scene_fragment_listen_voice.xml
index 324c1b0..305c9b4 100644
--- a/app/src/main/res/xml/scene_fragment_listen_voice.xml
+++ b/app/src/main/res/xml/scene_fragment_listen_voice.xml
@@ -18,9 +18,9 @@
             motion:layout_constraintStart_toStartOf="parent"
             motion:layout_constraintEnd_toEndOf="parent"
             motion:layout_constraintTop_toTopOf="parent"
-            android:layout_width="159dp"
+            android:layout_width="230dp"
             android:layout_marginTop="24dp"
-            android:layout_height="52dp"/>
+            android:layout_height="40dp"/>
     </ConstraintSet>
 
     <ConstraintSet android:id="@+id/end_1">
diff --git a/build.gradle b/build.gradle
index c9fc4d9..cb58e0a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,8 @@
     ext.retrofit_version = '2.3.0'
     repositories {
         google()
-        jcenter()
+        mavenCentral()
+        maven { url 'https://maven.aliyun.com/repository/jcenter/' }
         maven { url 'https://jitpack.io' }
     }
     dependencies {
@@ -22,7 +23,8 @@
 allprojects {
     repositories {
         google()
-        jcenter()
+        mavenCentral()
+        maven { url 'https://maven.aliyun.com/repository/jcenter/' }
         maven { url 'https://jitpack.io' }
         // 支付宝 SDK AAR 包所需的配置
         flatDir {
diff --git a/xldutils-kotlin/src/main/res/values/colors.xml b/xldutils-kotlin/src/main/res/values/colors.xml
index 3366c60..251d2af 100644
--- a/xldutils-kotlin/src/main/res/values/colors.xml
+++ b/xldutils-kotlin/src/main/res/values/colors.xml
@@ -24,7 +24,7 @@
     <color name="colorOrange">#E37324</color>
     <color name="colorYellow">#FF9803</color>
     <color name="colorDeepGreen">#256D0F</color>
-    <color name="textColorGreen">#6CC366</color>
+    <color name="textColorGreen">#52C41A</color>
     <color name="colorGreen">#CBDCC5</color>
     <color name="colorDark">#000000</color>
     <color name="colorPink">#FCD8D8</color>

--
Gitblit v1.7.1