瀏覽代碼

运动颜色

Signed-off-by: duanchangpeng <838560574@qq.com>
duanchangpeng 4 年之前
父節點
當前提交
08b4c60eba

+ 38 - 17
app/src/main/java/com/example/watch/ui/activity/MainActivity.kt

@@ -17,10 +17,7 @@ import android.provider.Settings.SettingNotFoundException
 import android.view.KeyEvent
 import android.view.View
 import android.view.WindowManager
-import android.widget.Button
-import android.widget.ImageView
-import android.widget.TextView
-import android.widget.Toast
+import android.widget.*
 import androidx.appcompat.app.AlertDialog
 import androidx.appcompat.app.AppCompatActivity
 import androidx.fragment.app.FragmentPagerAdapter
@@ -62,8 +59,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 
         initView();
 
-        setStatusBarColor()
-
 //        首次加载
         FirstRun()
 
@@ -81,13 +76,23 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 
 //        开始运动
         beginSport()
+
+        //        test 根据心率强度计算背景色和提示语
+        headStatus(60)
     }
 
-    fun setStatusBarColor() {
+    fun setStatusBarColor(colorType: String) {
         val window = window
         window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
         window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
-        window.statusBarColor = resources.getColor(R.color.blue)
+        when (colorType) {
+            in "blue" -> window.statusBarColor = resources.getColor(R.color.blue)
+            in "violate" -> window.statusBarColor = resources.getColor(R.color.violate)
+            in "greendeep" -> window.statusBarColor = resources.getColor(R.color.greendeep)
+            in "yellowdeep" -> window.statusBarColor = resources.getColor(R.color.yellowdeep)
+            in "orange" -> window.statusBarColor = resources.getColor(R.color.orange)
+            in "reddeep" -> window.statusBarColor = resources.getColor(R.color.reddeep)
+        }
     }
 
 
@@ -390,7 +395,7 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
             BaseData().calcActivity(heartRate, BaseData().sex, BaseData().weight, BaseData().age, 1)
 
 //        根据运动强度加载不同的背景色,状态栏颜色 和 提示语
-        headStatus(10)
+        headStatus(60)
 //    todo 全部卡路里
 //        this.findViewById<TextView>(R.id.calNum).text =
 //            BaseData().calcSumCalc(heartRate, BaseData().sex, BaseData().weight, BaseData().age, 1)
@@ -457,18 +462,34 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
     }
 
     fun headStatus(activLevel: Int) {
-        val activLevel = this.findViewById<TextView>(R.id.activLevel)
+        val activLevelVal = findViewById<TextView>(R.id.act_level_text)
         var levelText = "激活放松"
         when (activLevel) {
             in 0..39 -> levelText = "激活放松"
-            in 40..54 -> levelText = "激活放松"
-            in 55..69 -> levelText = "激活放松"
-            in 70..79 -> levelText = "激活放松"
-            in 80..89 -> levelText = "激活放松"
-            in 90..109 -> levelText = "激活放松"
+            in 40..54 -> levelText = "动态热身"
+            in 55..69 -> levelText = "脂肪燃烧"
+            in 70..79 -> levelText = "糖分消耗"
+            in 80..89 -> levelText = "心肺训练"
+            in 90..109 -> levelText = "峰值锻炼"
+        }
+        activLevelVal.text = levelText
+        val headBg = findViewById<LinearLayout>(R.id.head_bg)
+        when (activLevel) {
+            in 0..39 -> headBg.setBackgroundColor(Color.parseColor("#028FE1"))
+            in 40..54 -> headBg.setBackgroundColor(Color.parseColor("#6D29FA"))
+            in 55..69 -> headBg.setBackgroundColor(Color.parseColor("#0AB105"))
+            in 70..79 -> headBg.setBackgroundColor(Color.parseColor("#B9CB01"))
+            in 80..89 -> headBg.setBackgroundColor(Color.parseColor("#EA8813"))
+            in 90..109 -> headBg.setBackgroundColor(Color.parseColor("#D11122"))
+        }
+        when (activLevel) {
+            in 0..39 -> setStatusBarColor("blue")
+            in 40..54 -> setStatusBarColor("violate")
+            in 55..69 -> setStatusBarColor("greendeep")
+            in 70..79 -> setStatusBarColor("yellowdeep")
+            in 80..89 -> setStatusBarColor("orange")
+            in 90..109 -> setStatusBarColor("reddeep")
         }
-
-
     }
 }
 

+ 1 - 0
app/src/main/res/layout/activity_main.xml

@@ -23,6 +23,7 @@
             android:orientation="horizontal">
 
             <LinearLayout
+                android:id="@+id/head_bg"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:layout_weight="1"

+ 5 - 0
app/src/main/res/values/colors.xml

@@ -17,4 +17,9 @@
     <color name="yellow">#F8BD2C</color>
     <color name="green">#AACC03</color>
     <color name="red">#F90505</color>
+    <color name="violate">#6D29FA</color>
+    <color name="greendeep">#0AB105</color>
+    <color name="yellowdeep">#B9CB01</color>
+    <color name="orange">#EA8813</color>
+    <color name="reddeep">#D11122</color>
 </resources>