Advanced Ui Development Tutorials, Guides & Insights
Unlock 1+ expert-curated advanced ui tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your advanced ui skills on DeveloperBreeze.
Adblocker Detected
It looks like you're using an adblocker. Our website relies on ads to keep running. Please consider disabling your adblocker to support us and access the content.
Building an Advanced Weather App with Flutter and Dart
Tutorial August 12, 2024
dart
Update the WeatherScreen
to display real data.
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../providers/weather_provider.dart';
class WeatherScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final weatherProvider = Provider.of<WeatherProvider>(context);
return Scaffold(
appBar: AppBar(
title: Text('Weather App'),
),
body: Center(
child: weatherProvider.weather == null
? Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Enter City Name',
style: TextStyle(fontSize: 24),
),
Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
onSubmitted: (value) {
weatherProvider.fetchWeather(value);
},
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'City',
),
),
),
],
)
: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
weatherProvider.weather!.cityName,
style: TextStyle(fontSize: 32, fontWeight: FontWeight.bold),
),
SizedBox(height: 16),
Text(
'${weatherProvider.weather!.temperature}°C',
style: TextStyle(fontSize: 56),
),
SizedBox(height: 16),
Image.network(
'http://openweathermap.org/img/wn/${weatherProvider.weather!.icon}@2x.png',
),
SizedBox(height: 16),
Text(
weatherProvider.weather!.description,
style: TextStyle(fontSize: 24),
),
],
),
),
);
}
}