Parcourir la source

1.数据监控UI

王鹏鹏 il y a 2 ans
Parent
commit
63f30b7dd1

+ 1 - 0
.idea/misc.xml

@@ -139,6 +139,7 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/fragment_train_content.xml" value="0.33808844507845937" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/fragment_train_report.xml" value="0.22826086956521738" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_course_treatment.xml" value="0.1" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_data_monitor.xml" value="0.176" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_date.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_free_training.xml" value="0.8800000000000001" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_free_training_list.xml" value="0.8800000000000001" />

+ 23 - 0
workbenches/src/main/java/com/yingyang/workbenches/adapter/DataMonitorAdapter.kt

@@ -0,0 +1,23 @@
+package com.yingyang.workbenches.adapter
+
+import com.yingyang.workbenches.R
+import com.yingyang.workbenches.databinding.ItemDataMonitorBinding
+import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+
+/**
+ * 数据监控adapter
+ */
+class DataMonitorAdapter(override val layoutId: Int = R.layout.item_data_monitor) :
+    BaseDataBindingAdapter<String, ItemDataMonitorBinding>() {
+
+    override fun onBindViewHolder(binding: ItemDataMonitorBinding, item: String, position: Int) {
+        binding.data = item
+        if (position < 2) {
+            binding.imageStatus.setBackgroundResource(R.mipmap.icon_success)
+        } else if (position == 2) {
+            binding.imageStatus.setBackgroundResource(R.mipmap.icon_failed)
+        } else {
+            binding.imageStatus.setBackgroundResource(R.mipmap.icon_incomplete)
+        }
+    }
+}

+ 17 - 1
workbenches/src/main/java/com/yingyang/workbenches/datamonitor/DataMonitorFragment.kt

@@ -2,6 +2,7 @@ package com.yingyang.workbenches.datamonitor
 
 import android.text.Html
 import androidx.recyclerview.widget.GridLayoutManager
+import com.yingyang.workbenches.adapter.DataMonitorAdapter
 import com.yingyang.workbenches.adapter.DateAdapter
 import com.yingyang.workbenches.databinding.FragmentDataMonitorBinding
 import com.yingyang.workbenches.entity.DayBean
@@ -23,15 +24,30 @@ class DataMonitorFragment : BaseFragment<FragmentDataMonitorBinding>() {
     private var dataList = mutableListOf<DayBean>()
     private val dateAdapter by lazy { DateAdapter() }
 
+    /**
+     * 数据监控adapter
+     */
+    private var dataMonitorList = mutableListOf<String>()
+    private val dataMonitorAdapter by lazy { DataMonitorAdapter() }
+
     override fun initViews() {
         binding {
             rvDate.layoutManager = GridLayoutManager(mContext, 7)
             rvDate.adapter = dateAdapter
             dateAdapter.setData(dataList)
-            val summarize = "您已开通居家训练<font color='#FF0000'>10</font>天,共累计完成了专属专属训练<font color='#FF0000'>5</font>次"
+            val summarize =
+                "您已开通居家训练<font color='#FF0000'>10</font>天,共累计完成了专属专属训练<font color='#FF0000'>5</font>次"
             tvSummarize.setText(Html.fromHtml(summarize))
             val trainingTime = "累计训练时长(含自由训练)<font color='#FF0000'>300</font>分钟"
             tvTrainingTime.setText(Html.fromHtml(trainingTime))
+            //数据监控adapter
+            dataMonitorList.add("第1周(07.31-08.06)")
+            dataMonitorList.add("第2周(08.07-08.13)")
+            dataMonitorList.add("第3周(08.14-08.20)")
+            dataMonitorList.add("第4周(08.21-08.27)")
+            dataMonitorList.add("第5周(08.28-09.02)")
+            weekLayout.adapter = dataMonitorAdapter
+            dataMonitorAdapter.setData(dataMonitorList)
         }
     }
 

+ 3 - 4
workbenches/src/main/res/layout/fragment_data_monitor.xml

@@ -117,7 +117,7 @@
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
-        <androidx.constraintlayout.widget.ConstraintLayout
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/weekLayout"
             android:layout_width="0dp"
             android:layout_height="@dimen/divider_533px"
@@ -125,12 +125,11 @@
             android:layout_marginTop="@dimen/divider_32px"
             android:layout_marginEnd="@dimen/divider_40px"
             android:background="@drawable/bg_calendar"
+            app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
             app:layout_constraintHorizontal_weight="1"
             app:layout_constraintLeft_toRightOf="@id/calendarLayout"
             app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/tvTitle">
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
 
         <androidx.appcompat.widget.AppCompatTextView
             android:id="@+id/tvSummarize"

+ 38 - 0
workbenches/src/main/res/layout/item_data_monitor.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <data>
+
+        <variable
+            name="data"
+            type="java.lang.String" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/divider_40px"
+        android:orientation="horizontal">
+
+        <androidx.appcompat.widget.AppCompatImageView
+            android:id="@+id/imageStatus"
+            android:layout_width="@dimen/divider_32px"
+            android:layout_height="@dimen/divider_32px"
+            android:layout_gravity="center_vertical"
+            android:layout_marginStart="@dimen/divider_24px" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginStart="@dimen/divider_20px"
+            android:text="@{data}"
+            android:layout_marginEnd="@dimen/divider_24px"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_24px" />
+
+    </LinearLayout>
+
+</layout>

BIN
workbenches/src/main/res/mipmap-xxhdpi/icon_failed.png


BIN
workbenches/src/main/res/mipmap-xxhdpi/icon_incomplete.png


BIN
workbenches/src/main/res/mipmap-xxhdpi/icon_success.png