2 changed files with 101 additions and 3 deletions
@ -0,0 +1,94 @@ |
|||||
|
import 'package:flutter/material.dart'; |
||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
||||
|
|
||||
|
class WeatherDayCard extends StatelessWidget { |
||||
|
final Map? data; |
||||
|
final bool isDarkMode; |
||||
|
|
||||
|
const WeatherDayCard(this.data, this.isDarkMode, {super.key}); |
||||
|
|
||||
|
@override |
||||
|
Widget build(BuildContext context) { |
||||
|
final Map weatherDays = data?['weatherDays'].first; |
||||
|
|
||||
|
return Row( |
||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
||||
|
crossAxisAlignment: CrossAxisAlignment.start, |
||||
|
children: [ |
||||
|
Column( |
||||
|
crossAxisAlignment: CrossAxisAlignment.start, |
||||
|
children: [ |
||||
|
Text( |
||||
|
weatherDays['date'], |
||||
|
style: TextStyle( |
||||
|
color: isDarkMode ? Colors.white : Colors.black, |
||||
|
fontSize: 10.sp, |
||||
|
), |
||||
|
), |
||||
|
Text( |
||||
|
'${weatherDays['maxTemperature']}°', |
||||
|
style: TextStyle( |
||||
|
color: isDarkMode ? Colors.white : Colors.black, |
||||
|
fontSize: 30.sp, |
||||
|
), |
||||
|
), |
||||
|
], |
||||
|
), |
||||
|
Column( |
||||
|
crossAxisAlignment: CrossAxisAlignment.end, |
||||
|
children: [ |
||||
|
Icon( |
||||
|
Icons.sunny, |
||||
|
color: isDarkMode ? Colors.white : Colors.amber[600]!, |
||||
|
size: 18.w, |
||||
|
), |
||||
|
Text( |
||||
|
'${weatherDays['weatherCondition']},${weatherDays['windDirection']}', |
||||
|
style: TextStyle( |
||||
|
color: isDarkMode ? Colors.white : Colors.black, |
||||
|
fontSize: 14.sp, |
||||
|
), |
||||
|
), |
||||
|
Row( |
||||
|
children: [ |
||||
|
Text( |
||||
|
'最\n高', |
||||
|
style: TextStyle( |
||||
|
color: isDarkMode ? Colors.white : Colors.black, |
||||
|
fontSize: 10.sp, |
||||
|
height: 1, |
||||
|
), |
||||
|
), |
||||
|
5.horizontalSpace, |
||||
|
Text( |
||||
|
'${weatherDays['maxTemperature']}°', |
||||
|
style: TextStyle( |
||||
|
color: isDarkMode ? Colors.white : Colors.black, |
||||
|
fontSize: 20.sp, |
||||
|
), |
||||
|
), |
||||
|
10.horizontalSpace, |
||||
|
Text( |
||||
|
'最\n低', |
||||
|
style: TextStyle( |
||||
|
color: isDarkMode ? Colors.white : Colors.black, |
||||
|
fontSize: 10.sp, |
||||
|
height: 1, |
||||
|
), |
||||
|
), |
||||
|
5.horizontalSpace, |
||||
|
Text( |
||||
|
'${weatherDays['minTemperature']}°', |
||||
|
style: TextStyle( |
||||
|
color: isDarkMode ? Colors.white : Colors.black, |
||||
|
fontSize: 20.sp, |
||||
|
), |
||||
|
), |
||||
|
], |
||||
|
), |
||||
|
], |
||||
|
), |
||||
|
], |
||||
|
); |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue