cloudroam
2025-03-06 3e4f923cedc17a0d56d045cb9afda8d6f903b988
fix: 热力图矩阵
已修改3个文件
194 ■■■■ 文件已修改
app/src/main/java/com/example/firstapp/ui/dashboard/DashboardFragment.kt 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_week_stats.xml 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_year_stats.xml 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/firstapp/ui/dashboard/DashboardFragment.kt
@@ -504,7 +504,7 @@
                binding.recyclerPackages.visibility = View.VISIBLE
                binding.layoutWeekStats.root.visibility = View.GONE
                binding.layoutYearStats.root.visibility = View.GONE
                binding.cardPackageStats.visibility = View.VISIBLE  // 显示包裹统计卡片
                binding.cardPackageStats.visibility = View.VISIBLE
            }
            DateType.WEEK, DateType.MONTH -> {
                // 周和月视图显示柱状图和饼图,隐藏包裹列表
@@ -513,7 +513,7 @@
                binding.layoutYearStats.root.visibility = View.GONE
                binding.layoutWeekStats.chartDailyPackages.visibility = View.VISIBLE
                binding.layoutWeekStats.heatmapYearly.visibility = View.GONE
                binding.cardPackageStats.visibility = View.VISIBLE  // 显示包裹统计卡片
                binding.cardPackageStats.visibility = View.VISIBLE
                updateBarChartData()
                updatePieChartData()
            }
@@ -522,12 +522,12 @@
                binding.recyclerPackages.visibility = View.GONE
                binding.layoutWeekStats.root.visibility = View.VISIBLE
                binding.layoutYearStats.root.visibility = View.VISIBLE
                binding.layoutWeekStats.chartDailyPackages.visibility = View.GONE
                (binding.layoutWeekStats.chartDailyPackages.parent as? View)?.visibility = View.GONE
                binding.layoutWeekStats.heatmapYearly.visibility = View.VISIBLE
                binding.cardPackageStats.visibility = View.GONE  // 隐藏包裹统计卡片
                binding.cardPackageStats.visibility = View.GONE
                updateHeatmapData()
                updatePieChartData()
                updateYearlyStats()  // 更新年度统计数据
                updateYearlyStats()
            }
        }
    }
app/src/main/res/layout/layout_week_stats.xml
@@ -19,6 +19,28 @@
            android:padding="16dp" />
    </androidx.cardview.widget.CardView>
    <!-- 热力图容器 -->
    <androidx.cardview.widget.CardView
        android:id="@+id/heatmap_yearly"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginHorizontal="16dp"
        android:layout_marginBottom="16dp">
        <HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp">
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
                <!-- 热力图将在这里动态添加 -->
            </LinearLayout>
        </HorizontalScrollView>
    </androidx.cardview.widget.CardView>
    <!-- 饼图容器 -->
    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
@@ -33,28 +55,4 @@
            android:padding="16dp" />
    </androidx.cardview.widget.CardView>
    <!-- 热力图容器 -->
    <androidx.cardview.widget.CardView
        android:id="@+id/heatmap_yearly"
        android:layout_width="match_parent"
        android:layout_height="280dp"
        android:layout_marginHorizontal="16dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="16dp"
        android:visibility="gone">
        <HorizontalScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="16dp">
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="horizontal">
                <!-- 热力图将在这里动态添加 -->
            </LinearLayout>
        </HorizontalScrollView>
    </androidx.cardview.widget.CardView>
</LinearLayout>
</LinearLayout>
app/src/main/res/layout/layout_year_stats.xml
@@ -1,76 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="16dp">
    android:layout_marginHorizontal="16dp"
    android:layout_marginTop="8dp"
    android:layout_marginBottom="16dp">
    <!-- 年度包裹总数 -->
    <LinearLayout
        android:layout_width="0dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:gravity="center">
        android:orientation="horizontal"
        android:padding="16dp">
        <TextView
            android:id="@+id/text_total_packages"
            android:layout_width="wrap_content"
        <!-- 年度包裹总数 -->
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:textSize="24sp"
            android:textStyle="bold"
            android:textColor="@color/purple_500"
            android:text="4"/>
            android:layout_weight="1"
            android:orientation="vertical"
            android:gravity="center">
        <TextView
            android:layout_width="wrap_content"
            <TextView
                android:id="@+id/text_total_packages"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="24sp"
                android:textStyle="bold"
                android:textColor="@color/purple_500"
                android:text="4"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dp"
                android:text="年度包裹总数"
                android:textSize="12sp"/>
            <ImageView
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_marginTop="8dp"
                android:src="@drawable/resource_package"/>
        </LinearLayout>
        <!-- 分隔线 -->
        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="#E0E0E0"/>
        <!-- 平均每天包裹数 -->
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:text="年度包裹总数"
            android:textSize="12sp"/>
            android:layout_weight="1"
            android:orientation="vertical"
            android:gravity="center">
        <ImageView
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:layout_marginTop="8dp"
            android:src="@drawable/resource_package"/>
            <TextView
                android:id="@+id/text_daily_average"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="24sp"
                android:textStyle="bold"
                android:textColor="@color/purple_500"
                android:text="0.29"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dp"
                android:text="平均每天包裹数"
                android:textSize="12sp"/>
            <ImageView
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_marginTop="8dp"
                android:src="@drawable/avg_package"/>
        </LinearLayout>
    </LinearLayout>
    <!-- 分隔线 -->
    <View
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:background="#E0E0E0"/>
    <!-- 平均每天包裹数 -->
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:gravity="center">
        <TextView
            android:id="@+id/text_daily_average"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="24sp"
            android:textStyle="bold"
            android:textColor="@color/purple_500"
            android:text="0.29"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:text="平均每天包裹数"
            android:textSize="12sp"/>
        <ImageView
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:layout_marginTop="8dp"
            android:src="@drawable/avg_package"/>
    </LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>