更新
This commit is contained in:
108
lib/pages/sleep_report/chart/DataShowWidget.dart
Normal file
108
lib/pages/sleep_report/chart/DataShowWidget.dart
Normal file
@@ -0,0 +1,108 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
|
||||
class DataShowWidget extends StatefulWidget {
|
||||
final Widget widget1; // 第一个传入的 widget
|
||||
final Widget widget2; // 第二个传入的 widget
|
||||
final Widget widget3; // 第三个传入的 widget
|
||||
final Widget widget4; // 第四个传入的 widget
|
||||
final MainAxisAlignment alignment; // 控制 Row 的对齐方式
|
||||
|
||||
const DataShowWidget({
|
||||
super.key,
|
||||
required this.widget1,
|
||||
required this.widget2,
|
||||
required this.widget3,
|
||||
required this.widget4,
|
||||
this.alignment = MainAxisAlignment.start, // 默认左对齐
|
||||
});
|
||||
|
||||
@override
|
||||
State<DataShowWidget> createState() => _DataShowWidgetState();
|
||||
}
|
||||
|
||||
class _DataShowWidgetState extends State<DataShowWidget> {
|
||||
@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.4, // 固定宽度
|
||||
decoration: BoxDecoration(),
|
||||
child: Align(
|
||||
alignment: 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.2, // 固定宽度
|
||||
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.15, // 固定宽度
|
||||
decoration: BoxDecoration(),
|
||||
child: Align(
|
||||
alignment: widget.alignment == MainAxisAlignment.start
|
||||
? Alignment.centerLeft
|
||||
: widget.alignment == MainAxisAlignment.center
|
||||
? Alignment.center
|
||||
: Alignment.centerRight, // 同样设置对齐
|
||||
child: widget.widget4, // 显示传入的 widget4
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user