周报月报卡片样式
This commit is contained in:
109
lib/pages/sleep_report/chart/weekDataShowWidget.dart
Normal file
109
lib/pages/sleep_report/chart/weekDataShowWidget.dart
Normal file
@@ -0,0 +1,109 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
|
||||
class Weekdatashowwidget extends StatefulWidget {
|
||||
final Widget widget1; // 第一个传入的 widget
|
||||
final Widget widget2; // 第二个传入的 widget
|
||||
final Widget widget3; // 第三个传入的 widget
|
||||
final Widget widget4; // 第四个传入的 widget
|
||||
final MainAxisAlignment alignment; // 控制 Row 的对齐方式
|
||||
|
||||
const Weekdatashowwidget({
|
||||
super.key,
|
||||
required this.widget1,
|
||||
required this.widget2,
|
||||
required this.widget3,
|
||||
required this.widget4,
|
||||
this.alignment = MainAxisAlignment.start, // 默认左对齐
|
||||
});
|
||||
|
||||
@override
|
||||
State<Weekdatashowwidget> createState() => _WeekdatashowwidgetState();
|
||||
}
|
||||
|
||||
class _WeekdatashowwidgetState extends State<Weekdatashowwidget> {
|
||||
@override
|
||||
void setState(VoidCallback callback) {
|
||||
super.setState(callback);
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
height: 66.rpx,
|
||||
decoration: BoxDecoration(),
|
||||
child: SingleChildScrollView(
|
||||
scrollDirection: Axis.horizontal, // 设置横向滚动
|
||||
child: Row(
|
||||
mainAxisAlignment: widget.alignment, // 根据传入的 alignment 控制对齐方式
|
||||
children: [
|
||||
// 放入传入的 widget1
|
||||
Container(
|
||||
width: MediaQuery.sizeOf(context).width * 0.35, // 固定宽度
|
||||
decoration: BoxDecoration(),
|
||||
child: Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
// widget.alignment == MainAxisAlignment.start
|
||||
// ? Alignment.centerLeft
|
||||
// : widget.alignment == MainAxisAlignment.center
|
||||
// ? Alignment.center
|
||||
// : Alignment.centerRight, // 根据传入的 alignment 设置对齐
|
||||
child: widget.widget1, // 显示传入的 widget1
|
||||
),
|
||||
),
|
||||
// 放入传入的 widget2
|
||||
Container(
|
||||
width: MediaQuery.sizeOf(context).width * 0.15, // 固定宽度
|
||||
decoration: BoxDecoration(),
|
||||
child: Align(
|
||||
alignment: widget.alignment == MainAxisAlignment.start
|
||||
? Alignment.centerLeft
|
||||
: widget.alignment == MainAxisAlignment.center
|
||||
? Alignment.center
|
||||
: Alignment.centerRight, // 同样设置对齐
|
||||
child: widget.widget2, // 显示传入的 widget2
|
||||
),
|
||||
),
|
||||
// 放入传入的 widget3
|
||||
Container(
|
||||
width: MediaQuery.sizeOf(context).width * 0.15, // 固定宽度
|
||||
decoration: BoxDecoration(),
|
||||
child: Align(
|
||||
alignment: widget.alignment == MainAxisAlignment.start
|
||||
? Alignment.centerLeft
|
||||
: widget.alignment == MainAxisAlignment.center
|
||||
? Alignment.center
|
||||
: Alignment.centerRight, // 同样设置对齐
|
||||
child: widget.widget3, // 显示传入的 widget3
|
||||
),
|
||||
),
|
||||
// 放入传入的 widget4
|
||||
Container(
|
||||
width: MediaQuery.sizeOf(context).width * 0.25, // 固定宽度
|
||||
decoration: BoxDecoration(),
|
||||
child: Align(
|
||||
alignment: widget.alignment == MainAxisAlignment.start
|
||||
? Alignment.centerLeft
|
||||
: widget.alignment == MainAxisAlignment.center
|
||||
? Alignment.center
|
||||
: Alignment.centerRight, // 同样设置对齐
|
||||
child: widget.widget4, // 显示传入的 widget4
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -6,11 +6,11 @@ import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||
import 'package:vbvs_app/pages/sleep_report/chart/DataShowWidget.dart';
|
||||
|
||||
import 'package:EasyDartModule/EasyDartModule.dart' as es;
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:vbvs_app/pages/sleep_report/chart/weekDataShowWidget.dart';
|
||||
|
||||
class IndicatorCompareCard extends StatelessWidget {
|
||||
final String title;
|
||||
@@ -91,7 +91,7 @@ class IndicatorCompareCard extends StatelessWidget {
|
||||
SizedBox(height: spacing.rpx),
|
||||
|
||||
/// 表头
|
||||
DataShowWidget(
|
||||
Weekdatashowwidget(
|
||||
alignment: MainAxisAlignment.center,
|
||||
widget1: _buildHeader(headers, 0),
|
||||
widget2: _buildHeader(headers, 1),
|
||||
@@ -102,7 +102,7 @@ class IndicatorCompareCard extends StatelessWidget {
|
||||
/// 数据行
|
||||
Column(
|
||||
children: rows.map((row) {
|
||||
return DataShowWidget(
|
||||
return Weekdatashowwidget(
|
||||
alignment: MainAxisAlignment.center,
|
||||
widget1: row[0],
|
||||
widget2: row[1],
|
||||
|
||||
Reference in New Issue
Block a user