Files
flutter_common/lib/lineline/time_line.dart

62 lines
1.3 KiB
Dart
Raw Normal View History

2025-10-20 10:44:59 +08:00
import 'package:flutter/material.dart';
import 'dash_line.dart';
///@Desc 时间线
class TimeLine extends StatelessWidget {
final bool isLast;
final Widget child;
const TimeLine({
Key? key,
required this.isLast,
required this.child,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return IntrinsicHeight(
child: Row(
children: [
_buildDot(),
const SizedBox(width: 16),
Expanded(child: child),
],
),
);
}
Widget _buildDot() {
return Column(
children: [
Container(
width: 24,
height: 24,
decoration: const BoxDecoration(
shape: BoxShape.circle,
color: Color(0xff36C2FD),
),
alignment: Alignment.center,
child: Container(
width: 12,
height: 12,
decoration: const BoxDecoration(
shape: BoxShape.circle,
color: Colors.white,
),
),
),
if (isLast)
const SizedBox.shrink()
else
const Expanded(
child: DashLine(
color: Color(0xff36C2FD),
direction: Axis.vertical,
),
)
],
);
}
}