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