Przeglądaj źródła

1.修改数据监控页面UI

王鹏鹏 2 lat temu
rodzic
commit
d28a00deff

+ 2 - 0
.idea/misc.xml

@@ -144,9 +144,11 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_task_btn.xml" value="0.2165" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_task_progress.xml" value="0.2165" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train.xml" value="0.2265" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_currect_date.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_incomplete.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_none.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_right.xml" value="0.2265" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_selected_date.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_success.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_times.xml" value="0.2165" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/drawable/bg_train_title.xml" value="0.2165" />

+ 3 - 4
baselib/src/main/java/com/yingyangfly/baselib/utils/User.kt

@@ -3,6 +3,7 @@ package com.yingyangfly.baselib.utils
 import android.content.Context
 import com.tencent.bugly.crashreport.CrashReport
 import com.yingyangfly.baselib.BaseApplication
+import java.text.SimpleDateFormat
 import java.util.*
 
 object User {
@@ -139,10 +140,8 @@ object User {
      * 获取当前日期
      */
     fun getNowDay(): String {
-        val calendar = Calendar.getInstance()
-        val month = calendar.get(Calendar.MONTH) + 1
-        return calendar.get(Calendar.YEAR)
-            .toString() + "-" + month + "-" + calendar.get(Calendar.DAY_OF_MONTH).toString()
+        val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
+        return sdf.format(Date())
     }
 
     /**

+ 30 - 3
workbenches/src/main/java/com/yingyang/workbenches/adapter/DateAdapter.kt

@@ -1,9 +1,12 @@
 package com.yingyang.workbenches.adapter
 
+import android.annotation.SuppressLint
+import android.text.TextUtils
 import com.yingyang.workbenches.R
 import com.yingyang.workbenches.databinding.ItemDateBinding
 import com.yingyang.workbenches.entity.DayBean
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.setTextColorResource
 
 /**
@@ -11,13 +14,31 @@ import com.yingyangfly.baselib.ext.setTextColorResource
  */
 class DateAdapter(override val layoutId: Int = R.layout.item_date) :
     BaseDataBindingAdapter<DayBean, ItemDateBinding>() {
+
+    var currentDate = ""
+
+    var onDateClickListener: ((bean: DayBean) -> Unit)? = null
+
+    @SuppressLint("NotifyDataSetChanged")
     override fun onBindViewHolder(binding: ItemDateBinding, item: DayBean, position: Int) {
         binding.data = item
-        if (item.isCurrentMonth) {
-            binding.tvDate.setTextColorResource(R.color.color_FF333333)
+        if (TextUtils.equals(currentDate, item.time)) {
+            binding.tvDate.setTextColorResource(R.color.color_ffffff)
+            binding.tvDate.setBackgroundResource(R.drawable.bg_train_selected_date)
         } else {
-            binding.tvDate.setTextColorResource(R.color.color_FF9FA5B4)
+            if (item.isCurrentDay) {
+                binding.tvDate.setTextColorResource(R.color.color_ffffff)
+                binding.tvDate.setBackgroundResource(R.drawable.bg_train_currect_date)
+            } else {
+                if (item.isCurrentMonth) {
+                    binding.tvDate.setTextColorResource(R.color.color_FF626B80)
+                } else {
+                    binding.tvDate.setTextColorResource(R.color.color_FF9FA5B4)
+                }
+                binding.tvDate.setBackgroundResource(R.drawable.bg_train_none)
+            }
         }
+
         when (item.status) {
             "1" -> {
                 binding.statusView.setBackgroundResource(R.drawable.bg_train_complete)
@@ -29,5 +50,11 @@ class DateAdapter(override val layoutId: Int = R.layout.item_date) :
                 binding.statusView.setBackgroundResource(R.drawable.bg_train_none)
             }
         }
+
+        binding.dateLayout.setOnSingleClickListener {
+            currentDate = item.time
+            onDateClickListener?.invoke(item)
+            notifyDataSetChanged()
+        }
     }
 }

+ 4 - 0
workbenches/src/main/java/com/yingyang/workbenches/datamonitor/DataMonitorFragment.kt

@@ -39,7 +39,11 @@ class DataMonitorFragment : BaseMVVMFragment<FragmentDataMonitorBinding, DataMon
         binding {
             rvDate.layoutManager = GridLayoutManager(mContext, 7)
             rvDate.adapter = dateAdapter
+            dateAdapter.currentDate = User.getNowDay()
             dateAdapter.setData(dataList)
+            dateAdapter.onDateClickListener = { bean ->
+
+            }
         }
     }
 

+ 10 - 0
workbenches/src/main/java/com/yingyang/workbenches/entity/DayBean.java

@@ -14,6 +14,8 @@ public class DayBean {
     // 是否为今天
     private boolean currentDay;
 
+    private boolean isSelected = false;
+
     private String status;//0今日无训练记录,1今日已完成训练,2今日未完成训练
 
     public String getDay() {
@@ -68,6 +70,14 @@ public class DayBean {
         this.status = status;
     }
 
+    public boolean isSelected() {
+        return isSelected;
+    }
+
+    public void setSelected(boolean selected) {
+        isSelected = selected;
+    }
+
     public String getTime() {
         return getYear() + "-" + getMonth() + "-" + getDay();
     }

+ 6 - 0
workbenches/src/main/res/drawable/bg_train_currect_date.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+    <!--指定了形状内部的填充颜色-->
+    <solid android:color="@color/color_FF92ACFF" />
+</shape>

+ 6 - 0
workbenches/src/main/res/drawable/bg_train_selected_date.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+    <!--指定了形状内部的填充颜色-->
+    <solid android:color="@color/color_FF4A76FF" />
+</shape>

+ 4 - 4
workbenches/src/main/res/layout/item_date.xml

@@ -12,14 +12,14 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/dateLayout"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="@dimen/divider_90px">
+        android:layout_height="wrap_content">
 
         <androidx.appcompat.widget.AppCompatTextView
             android:id="@+id/tvDate"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/divider_46px"
+            android:layout_height="@dimen/divider_46px"
             android:gravity="center"
             android:text="@{data.getNowDay()}"
             android:textColor="@color/color_FF9FA5B4"

+ 1 - 0
workbenches/src/main/res/values/colors.xml

@@ -55,4 +55,5 @@
     <color name="color_FFFFB841" tools:ignore="ResourceName">#FFFFB841</color>
     <color name="color_FFA02C" tools:ignore="ResourceName">#FFA02C</color>
     <color name="coloe_FF9FA5B4" tools:ignore="ResourceName">#FF9FA5B4</color>
+    <color name="color_FF626B80" tools:ignore="ResourceName">#FF626B80</color>
 </resources>