我正在嘗試在我的移動應用程式中列印導航欄。main.dart 的代碼:系統說未使用包 navbar.dart 的匯入。導航欄完全沒有顯示。有誰知道如何解決這一問題?天氣應用程式本身確實有效。但導航欄不列印。PLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholderPLaceholder
import 'package:weerappflutter/data_service.dart';
import 'package:flutter/material.dart';
import 'package:weerappflutter/models.dart';
import 'package:weerappflutter/navbar.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final _cityTextController = TextEditingController();
final _dataService = DataService();
WeatherResponse? _response;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (_response != null)
Column(
children: [
Image.network(_response!.iconUrl),
Text(
'${_response!.tempInfo.temperature}°',
style: TextStyle(fontSize: 40),
),
Text(_response!.weatherInfo.description)
],
),
Padding(
padding: EdgeInsets.symmetric(vertical: 50),
child: SizedBox(
width: 150,
child: TextField(
controller: _cityTextController,
decoration: InputDecoration(labelText: 'Voer een stad in:'),
textAlign: TextAlign.center),
),
),
ElevatedButton(onPressed: _search, child: Text('Toon temparatuur'))
],
),
),
));
}
void _search() async {
final response = await _dataService.getWeather(_cityTextController.text);
setState(() => _response = response);
}
}
代碼導航欄.dart
import 'package:flutter/material.dart';
class NavBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Drawer(
child: ListView(
// Remove padding
padding: EdgeInsets.zero,
children: [
UserAccountsDrawerHeader(
accountName: Text('WeerBeving'),
accountEmail: Text('WeerBeving.com'),
currentAccountPicture: CircleAvatar(
child: ClipOval(
child: Image.network(
'https://oflutter.com/wp-content/uploads/2021/02/girl-profile.png',
fit: BoxFit.cover,
width: 90,
height: 90,
),
),
),
decoration: BoxDecoration(
color: Colors.blue,
image: DecorationImage(
fit: BoxFit.fill,
image: NetworkImage(
'https://oflutter.com/wp-content/uploads/2021/02/profile-bg3.jpg')),
),
),
ListTile(
leading: Icon(Icons.favorite),
title: Text('Weer'),
onTap: () => null,
),
ListTile(
leading: Icon(Icons.person),
title: Text('Aardbevingen Nederland'),
onTap: () => null,
),
ListTile(
leading: Icon(Icons.share),
title: Text('Aardbevingen wereldwijd'),
onTap: () => null,
),
Divider(),
ListTile(
title: Text('Exit'),
leading: Icon(Icons.exit_to_app),
onTap: () => null,
),
],
),
);
}
}
uj5u.com熱心網友回復:
在身體正上方的腳手架內寫
drawer:NavBar(),
你只匯入了包,但沒有在 main.dart 中的任何地方呼叫它
uj5u.com熱心網友回復:
您已宣告 NavBar 小部件,但您忘記將其放置到小部件樹中。為此,請使用 Scaffold ... Scaffold( drawer: NavBar(), body: ... ) 的抽屜欄位
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/344850.html
