Просмотр исходного кода

心率带图表

Signed-off-by: duanchangpeng <838560574@qq.com>
duanchangpeng 4 лет назад
Родитель
Сommit
e72e275e7c

+ 1 - 1
app/build.gradle

@@ -66,5 +66,5 @@ dependencies {
     implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.50'
     implementation 'com.android.support:appcompat-v7:27.1.1'
     implementation 'com.android.support:design:27.1.1'
-
+    implementation 'com.github.AAChartModel:AAChartCore-Kotlin:-SNAPSHOT'
 }

+ 39 - 3
app/src/main/java/com/example/watch/ui/activity/MainActivity.kt

@@ -26,6 +26,10 @@ import com.android.chileaf.WearManager
 import com.android.chileaf.fitness.callback.WearManagerCallbacks
 import com.example.watch.BuildConfig
 import com.example.watch.R
+import com.github.aachartmodel.aainfographics.aachartcreator.AAChartModel
+import com.github.aachartmodel.aainfographics.aachartcreator.AAChartType
+import com.github.aachartmodel.aainfographics.aachartcreator.AAChartView
+import com.github.aachartmodel.aainfographics.aachartcreator.AASeriesElement
 import com.google.android.material.bottomnavigation.BottomNavigationView
 import com.yanzhenjie.permission.AndPermission
 import com.yanzhenjie.permission.runtime.Permission
@@ -77,8 +81,11 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 //        开始运动
         beginSport()
 
+//        绘制心律图
+        ChartView()
+
         //        test 根据心率强度计算背景色和提示语
-        headStatus(60)
+//        headStatus(60)
     }
 
     fun setStatusBarColor(colorType: String) {
@@ -152,6 +159,7 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
             startActivity(Intent(this, LoginActivity::class.java))
         } else {
             setContentView(R.layout.activity_main)
+            setStatusBarColor("blue")
         }
     }
 
@@ -391,11 +399,13 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 //    男:((-55.0969 +(0.6309×HR)+(0.1988 xW)+(0.2017×A))/ 4.184)×60 xT
 //    女:((-20.4022 +(0.4472×HR) - (0.1263 xW)+(0.074×A))/ 4.184)×60 xT
 //    其中,HR =心率(次/分钟) W =体重(公斤) A=年龄(岁) T =锻炼持续时间的时间(以小时计)
-        this.findViewById<TextView>(R.id.activLevel).text =
+        var ActityVal =
             BaseData().calcActivity(heartRate, BaseData().sex, BaseData().weight, BaseData().age, 1)
+        this.findViewById<TextView>(R.id.activLevel).text = ActityVal
+
 
 //        根据运动强度加载不同的背景色,状态栏颜色 和 提示语
-        headStatus(60)
+        headStatus(ActityVal.toInt())
 //    todo 全部卡路里
 //        this.findViewById<TextView>(R.id.calNum).text =
 //            BaseData().calcSumCalc(heartRate, BaseData().sex, BaseData().weight, BaseData().age, 1)
@@ -491,6 +501,32 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
             in 90..109 -> setStatusBarColor("reddeep")
         }
     }
+
+    fun ChartView() {
+        val aaChartView = findViewById<AAChartView>(R.id.aa_chart_view)
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Line)
+            .backgroundColor("#fff")
+            .series(
+                arrayOf(
+                    AASeriesElement()
+                        .name("心率趋势图")
+                        .data(
+                            arrayOf(
+                                70,
+                                79,
+                                112,
+                                92,
+                                87,
+                                77,
+                                98
+                            )
+                        )
+                )
+            )
+        /*图表视图对象调用图表模型对象,绘制最终图形*/
+        aaChartView.aa_drawChartWithChartModel(aaChartModel)
+    }
 }
 
 

+ 5 - 6
app/src/main/res/layout/activity_main.xml

@@ -603,13 +603,12 @@
             android:layout_height="wrap_content"
             android:orientation="horizontal">
 
-            <com.github.mikephil.charting.charts.LineChart
-                android:id="@+id/lineChart"
+            <com.github.aachartmodel.aainfographics.aachartcreator.AAChartView
+                android:id="@+id/aa_chart_view"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_margin="16dp"
-                android:background="#ffffff"
-                tools:ignore="MissingClass" />
+                android:gravity="center"
+                android:layout_height="180dp">
+            </com.github.aachartmodel.aainfographics.aachartcreator.AAChartView>
         </LinearLayout>
     </LinearLayout>