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>> 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" /** 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?>> { app/src/main/java/com/dollearn/student/network/entity/ReqRestart.kt
New file @@ -0,0 +1,7 @@ package com.dollearn.student.network.entity data class ReqRestart( val day: Int, val type: Int, val week: Int ) 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 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 } } 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) } } 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() 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() } 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) { 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 } 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秒 } } 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) { 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 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) { 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() } } app/src/main/java/com/dollearn/student/ui/home/adapter/IndexAdapter.kt
New file @@ -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 } } 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 //答题进度已恢复,可以走自动播放流程了 } app/src/main/res/drawable/bg_grey_2dp.xml
New file @@ -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> app/src/main/res/drawable/bg_orange_8dp.xml
New file @@ -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> app/src/main/res/drawable/bg_white_8dp_padding.xml
New file @@ -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> 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> app/src/main/res/drawable/selector_bg_white_grey.xml
New file @@ -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> 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> 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> 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 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"> 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" 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" 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" 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"> app/src/main/res/layout/item_index.xml
New file @@ -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> app/src/main/res/mipmap-xxhdpi/bofangzhong_2.png
app/src/main/res/mipmap-xxhdpi/play_2.png
app/src/main/res/mipmap-xxhdpi/voice_answer_2.png
app/src/main/res/mipmap-xxhdpi/voice_question_2.png
app/src/main/res/mipmap-xxhdpi/yuyin_2.png
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> 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"/> 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"/> 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"> 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 { 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>