factor:布局颜色重构

This commit is contained in:
2025-11-20 14:25:31 +08:00
parent e6ee934a3e
commit eb4f7a3637
13 changed files with 60 additions and 69 deletions

View File

@@ -28,21 +28,25 @@ InputDecoration formInputDecoration({
);
}
Widget buildCard({required BuildContext context, required Widget child}) {
final colors = Theme.of(context).colorScheme;
return Card(
elevation: 0,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
child: Container(
width: double.infinity,
class BuildCard extends StatelessWidget {
final Widget? child;
const BuildCard({super.key, this.child});
@override
Widget build(BuildContext context) {
final colors = Theme.of(context).colorScheme;
return Container(
decoration: BoxDecoration(
color: Colors.white,
color: colors.surfaceContainer,
borderRadius: BorderRadius.circular(12),
// border: Border.all(color: colors.outline.withAlpha(50)),
// border: Border.all(color: colors.outline.withAlpha(50), width: 1),
),
child: Padding(padding: EdgeInsets.all(10), child: child),
),
);
padding: const EdgeInsets.all(16),
child: child,
);
}
}
Widget buildEmptyData() {

View File

@@ -12,8 +12,7 @@ class MomentCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return buildCard(
context: context,
return BuildCard(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [

View File

@@ -62,16 +62,16 @@ class _RecipeCalendarState extends State<RecipeCalendar> {
if (provider.selectRecordList.isEmpty)
buildEmptyData()
else
ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: provider.selectRecordList.length,
itemBuilder: (context, index) {
return _buildRecordItem(
context,
provider.selectRecordList[index],
);
},
Expanded(
child: ListView.builder(
itemCount: provider.selectRecordList.length,
itemBuilder: (context, index) {
return _buildRecordItem(
context,
provider.selectRecordList[index],
);
},
),
),
],
);
@@ -188,13 +188,9 @@ class _RecipeCalendarState extends State<RecipeCalendar> {
Widget _buildContent(FoodProvider provider) {
return Column(
children: [
buildCard(context: context, child: _recipeCalendar(provider)),
Expanded(
child: buildCard(
context: context,
child: _dailyItem(context, provider),
),
),
BuildCard(child: _recipeCalendar(provider)),
SizedBox(height: 8),
Expanded(child: BuildCard(child: _dailyItem(context, provider))),
],
);
}

View File

@@ -81,8 +81,7 @@ class RecipeCard extends StatelessWidget {
);
}
return buildCard(
context: context,
return BuildCard(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [

View File

@@ -83,8 +83,9 @@ class _RecipeListState extends State<RecipeList> {
_buildSelectCategory(provider),
SizedBox(height: 5),
Expanded(
child: ListView.builder(
child: ListView.separated(
itemCount: provider.recipeSummaryList.length,
separatorBuilder: (context, index) => SizedBox(height: 8),
itemBuilder: (context, index) {
return RecipeCard(recipe: provider.recipeSummaryList[index]);
},

View File

@@ -16,8 +16,7 @@ class RecipeTimeline extends StatefulWidget {
class _RecipeTimeline extends State<RecipeTimeline> {
Widget buildTimelineCard(BuildContext context, FoodRecord record) {
return buildCard(
context: context,
return BuildCard(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -69,7 +68,10 @@ class _RecipeTimeline extends State<RecipeTimeline> {
);
},
contentsBuilder: (context, index) {
return buildTimelineCard(context, recordList[index]);
return Padding(
padding: const EdgeInsets.symmetric(vertical: 4.0),
child: buildTimelineCard(context, recordList[index]),
);
},
),
);

View File

@@ -20,8 +20,7 @@ class StatisticCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return buildCard(
context: context,
return BuildCard(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [