Здравствуйте, я новичок в разработке флаттера. Здесь я получаю ошибку Bottom, переполненную ошибкой 98 пикселей. Как это решить. означает, что нижняя часть панели приложения переполняется, когда я добавляю заголовок списка. Он должен быть прокручиваемым. Пожалуйста, помогите мне решить эту проблему.
app_drawer.dart:
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../screens/orders_screen.dart';
import '../screens/user_products_screen.dart';
import '../providers/auth.dart';
class AppDrawer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Drawer(
child: Column(
children: <Widget>[
AppBar(
title: Text('MyApp'),
automaticallyImplyLeading: false,
),
Divider(),
ListTile(
leading: Icon(Icons.shop),
title: Text('Home'),
onTap: () {
Navigator.of(context).pushReplacementNamed('/');
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Control Process'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.edit),
title: Text('Process Sheet'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(UserProductsScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Skill Matrix'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Maintenance'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Sws'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Safety'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Pfd'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Gauges'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.payment),
title: Text('Videos'),
onTap: () {
Navigator.of(context)
.pushReplacementNamed(OrdersScreen.routeName);
},
),
Divider(),
ListTile(
leading: Icon(Icons.exit_to_app),
title: Text('Logout'),
onTap: () {
Navigator.of(context).pop();
Navigator.of(context).pushReplacementNamed('/');
// Navigator.of(context)
// .pushReplacementNamed(UserProductsScreen.routeName);
Provider.of<Auth>(context, listen: false).logout();
},
),
],
),
);
}
}
Здесь я получаю ошибку Bottom, переполненную ошибкой 98 пикселей. Как это решить. означает, что нижняя часть панели приложения переполняется, когда я добавляю заголовок списка. Он должен быть прокручиваемым.
4 ответа
- оберните свой Columnm с помощью SingleChildScrollView или
- вы также можете использовать представление списка
return Drawer(
child: SingleChildScrollView(
child: Column(
children: <Widget>[
...
]
)
)
return Drawer(
child: ListView(
children: <Widget>[
...
]
)
)
Оберните столбец SingleChildScrollView
следующим образом
drawer: Drawer(
child: SingleChildScrollView(
child: Column(
children: <Widget>[
...
]))
Вам просто нужно обернуть столбец с помощью SingleChildScrollView
Drawer(
child: SingleChildScrollView(
child: Column(
children: <Widget>[
...
],
),
),
Вы также можете использовать ListView
, чтобы сделать его прокручиваемым.
Drawer(
child: ListView(
children: <Widget>[
AppBar(
title: Text('MyApp'),
automaticallyImplyLeading: false,
),
Divider(),
ListTile(
leading: Icon(Icons.shop),
title: Text('Home'),
onTap: () {
Navigator.of(context).pushReplacementNamed('/');
},
),
]),),
Новые вопросы
flutter
Flutter - это набор средств разработки пользовательского интерфейса с открытым исходным кодом, созданный Google. Он используется для разработки приложений для Android, iOS, Linux, Mac, Windows, Google Fuchsia и Интернета из единой кодовой базы. Приложения Flutter написаны на языке Dart.