|
|
@@ -2,12 +2,16 @@ package com.yingyang.workbenches.brainability
|
|
|
|
|
|
import android.graphics.Color
|
|
|
import android.text.TextUtils
|
|
|
+import androidx.recyclerview.widget.LinearLayoutManager
|
|
|
+import androidx.recyclerview.widget.RecyclerView
|
|
|
import com.github.mikephil.charting.components.XAxis
|
|
|
import com.github.mikephil.charting.components.YAxis
|
|
|
import com.github.mikephil.charting.data.Entry
|
|
|
import com.github.mikephil.charting.data.LineData
|
|
|
import com.github.mikephil.charting.data.LineDataSet
|
|
|
+import com.yingyang.workbenches.adapter.BrainAbilityTypeAdapter
|
|
|
import com.yingyang.workbenches.databinding.FragmentBrainAbilityBinding
|
|
|
+import com.yingyang.workbenches.entity.VariationTendencyByTypeBean
|
|
|
import com.yingyangfly.baselib.ext.toast
|
|
|
import com.yingyangfly.baselib.mvvm.BaseMVVMFragment
|
|
|
import com.yingyangfly.baselib.utils.RxBusCodes
|
|
|
@@ -21,7 +25,17 @@ import gorden.rxbus2.ThreadMode
|
|
|
class BrainAbilityFragment :
|
|
|
BaseMVVMFragment<FragmentBrainAbilityBinding, BrainAbilityViewModel>() {
|
|
|
|
|
|
+ private var xType = mutableListOf<String>()
|
|
|
+ private var variationTendencyByTypeBean = mutableListOf<VariationTendencyByTypeBean>()
|
|
|
+ private val adapter by lazy { BrainAbilityTypeAdapter() }
|
|
|
+
|
|
|
override fun initViews() {
|
|
|
+ binding {
|
|
|
+ val layoutManager = LinearLayoutManager(mContext, RecyclerView.HORIZONTAL, false)
|
|
|
+ abilityType.layoutManager = layoutManager
|
|
|
+ abilityType.adapter = adapter
|
|
|
+ adapter.setData(variationTendencyByTypeBean)
|
|
|
+ }
|
|
|
initLineChart()
|
|
|
}
|
|
|
|
|
|
@@ -41,17 +55,21 @@ class BrainAbilityFragment :
|
|
|
viewModel.getVariationTendencyByType(fail = {
|
|
|
it.toast()
|
|
|
}, success = {
|
|
|
+ variationTendencyByTypeBean.clear()
|
|
|
if (it.isNullOrEmpty().not()) {
|
|
|
+ variationTendencyByTypeBean.addAll(it!!)
|
|
|
val lineData = LineData()
|
|
|
- it?.forEach {
|
|
|
+ it.forEach {
|
|
|
+ xType.clear()
|
|
|
if (it.value.isNullOrEmpty().not()) {
|
|
|
val list = ArrayList<Entry>()
|
|
|
for (i in it.value.indices) {
|
|
|
+ xType.add(it.value[i].time)
|
|
|
val entry = Entry(i.toFloat(), it.value[i].mentalEnergyVal)
|
|
|
list.add(entry)
|
|
|
}
|
|
|
//两个参数
|
|
|
- val lineDataSet = LineDataSet(list, it.name)
|
|
|
+ val lineDataSet = LineDataSet(list, "")
|
|
|
if (TextUtils.equals("定向力", it.name)) {
|
|
|
lineDataSet.color = Color.RED
|
|
|
} else {
|
|
|
@@ -68,6 +86,7 @@ class BrainAbilityFragment :
|
|
|
binding.lineChart.data = lineData
|
|
|
binding.lineChart.invalidate()
|
|
|
}
|
|
|
+ adapter.setData(variationTendencyByTypeBean)
|
|
|
})
|
|
|
}
|
|
|
|
|
|
@@ -102,13 +121,6 @@ class BrainAbilityFragment :
|
|
|
axis.setDrawGridLines(false)
|
|
|
//设置X轴显示
|
|
|
axis.isEnabled = true
|
|
|
- //x轴显示字符串
|
|
|
-// axis.valueFormatter = object : ValueFormatter() {
|
|
|
-// override fun getFormattedValue(value: Float): String {
|
|
|
-// // private String[] mLableXHeartRate = new String[]{"初始","休息区","热身区","燃脂区","有氧运动","无氧运动","最大心率"}
|
|
|
-// return mLableXHeartRate.get(value.toInt())
|
|
|
-// }
|
|
|
-// }
|
|
|
axis.setLabelCount(7, true)
|
|
|
//y轴0刻度
|
|
|
axisLeft.axisMinimum = 30f
|
|
|
@@ -116,7 +128,7 @@ class BrainAbilityFragment :
|
|
|
axisLeft.setDrawGridLines(false)
|
|
|
axisLeft.axisLineColor = Color.BLACK
|
|
|
//显示Y轴轴线
|
|
|
- axisLeft.setDrawAxisLine(true)
|
|
|
+ axisLeft.setDrawAxisLine(false)
|
|
|
axisLeft.axisLineWidth = 1f
|
|
|
axisLeft.isEnabled = true
|
|
|
axisLeft.setDrawLabels(true)
|