Files
food_hub_app/lib/widgets/recipe/recipe_segment.dart
2025-07-06 19:04:30 +08:00

45 lines
1.4 KiB
Dart

import 'package:custom_sliding_segmented_control/custom_sliding_segmented_control.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:food_hub_app/models/recipe.dart';
class RecipeSegment extends StatelessWidget {
final ViewType selectedViewType;
final Function(ViewType) onViewTypeChanged;
const RecipeSegment({super.key, required this.selectedViewType, required this.onViewTypeChanged});
@override
Widget build(BuildContext context) {
return CustomSlidingSegmentedControl<int>(
initialValue: 1,
children: {
1: SizedBox(
width: 50,
child: Text('菜谱', textAlign: TextAlign.center),
),
2: SizedBox(
width: 50,
child: Text('日历', textAlign: TextAlign.center),
),
3: SizedBox(
width: 50,
child: Text('时间轴', textAlign: TextAlign.center),
),
},
decoration: BoxDecoration(
color: CupertinoColors.lightBackgroundGray,
borderRadius: BorderRadius.circular(10),
),
thumbDecoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
),
duration: Duration(milliseconds: 300),
curve: Curves.easeInToLinear,
onValueChanged: (value) {
onViewTypeChanged(ViewType.values[value - 1]);
},
);
}
}