我收到以下错误:
即,抛出了另一个异常:ParentDataWidget 的错误使用。在手机屏幕上显示错误。
@override
Widget build(BuildContext context) {
return MaterialApp(
title: widget.title,
theme: ThemeData.light().copyWith(
platform: _platform ?? Theme.of(context).platform,
),
home: DefaultTabController(
length: categoryNames.length,
child: Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: SafeArea(
child: Column(
children: <Widget>[
Chewie(
controller: _chewieController,
),
TabBar(
labelColor:Colors.black,
tabs: categoryNames,
),
Expanded(
child: TabBarView(
children: [
ImageList()
],
),
)
/*TabBarView(
children: [
Icon(Icons.directions_car),
Icon(Icons.directions_transit),
Icon(Icons.directions_bike),
],
)*/
],
)
),
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码,请检查并让我知道问题。
我是 Flutter 的新手,我正在尝试使用 Dialog 接收数据。当单击 textField 时,会出现 image2 的错误...

show(BuildContext context){
var dialog = Dialog(
child: Container(
margin: EdgeInsets.all(8.0),
child: Form(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
TextFormField(
decoration: InputDecoration(
labelText: "Insira o número de telefone",
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(2.0)))),
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
FlatButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text("Cancelar")),
FlatButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text("Aceitar"))
],
)
],
),
),
),
);
showDialog(context: context,builder: (context){
return dialog;
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码。
I/flutter (31032): Looking …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建我的第一个 Flutter 应用程序,但在将数据传递到无状态小部件时遇到了困难。我有以下课程:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'App Title',
theme: new ThemeData(
primarySwatch: Colors.green,
),
home: new MainBody(),
);
}
}
class MainBody extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Padding(
padding: const EdgeInsets.only(left: 20.0, right: 20.0),
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new TimeCheck(),
],
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
TimeCheck是一个Stateful Widget。基本上,我希望能够在开始时设置一些值,然后将它们传递给TimeCheck, via MainBody。我读到的所有内容都显示了如何将数据传递到 中Stateful …
我有一个SliverListwith SliverChildBuilderDelegate,我的问题是我无法设置ScrollController ,SliverList因为我想控制我的列表的滚动,我正在寻找滚动到列表中的特定项目(非常大),通常ListView这项工作很容易,我我想知道为什么没有像这样的controller财产?SliverListListView
注意:我知道CustomScrollView有controller属性并且我已经测试过,但这将控制整个视口,而不仅仅是列表
@override
Widget build(BuildContext context) {
MainState m = Provider.of<MainState>(context, listen: false);
return DefaultTabController(
length: m.itemCategoryList.length,
child: Scaffold(
// appBar: _createAppBar(),
body: Builder(builder: (context) => _createBody(context))),
);
}
AppBar _createAppBar() {
MainState m = Provider.of<MainState>(context);
return AppBar(
title: Text(
m.selectedPartner.fullname,
style: Theme.of(context).textTheme.display3,
),
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () {
Navigator.pop(context);
},
),
);
}
_createBody(BuildContext context) {
MainState …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我希望开关用于在开/关之间切换设置,分别为真/假。当我去构建它时,结果发现flutter提供了一个默认开关,但这不是我想要的,我想根据我的UI对其进行自定义
这是颤振开关按钮:-

这是我想要的:-

我怎样才能让我的 UI 成为可能?
我是 Flutter 的新手。
这是我的代码,
对于 ElevatedButton,
ElevatedButton(
onPressed: () {
// Add your onPressed code here!
},
child: Text("Login"),
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all<Color>(
AppColors.SecondaryColor),
foregroundColor: MaterialStateProperty.all<Color>(
AppColors.PrimaryColor))),
Run Code Online (Sandbox Code Playgroud)
对于轮廓按钮,
OutlinedButton(
onPressed: () {
// Add your onPressed code here!
},
child: Text("Register Now"),
style: OutlinedButton.styleFrom(
side: BorderSide(width: 2, color: AppColors.SecondaryColor),
))
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么我必须对OutlinedButton使用styleFrom而不是ButtonStyle?如果用ButtonStyle替换OutlinedButton.styleFrom,则会出错。为什么?
我对ButtonStyle和styleFrom的使用感到非常困惑。因为互联网上的一些示例使用ButtonStyle而一些使用styleFrom。
我正在解决一个问题,我收到错误“对象在布局期间被赋予了无限大小”和“这可能意味着它是一个试图尽可能大的渲染对象,但它被放在另一个渲染中允许其子项选择自己尺寸的对象。”。
我明白这意味着什么,但不知道我如何仍然保持我当前的小部件树响应(它在运行时呈现,所以对于前端用户来说似乎没有问题)同时仍然解决这个问题。目前我没有设置某些东西的大小来保持响应,并希望尽可能避免小部件的硬编码大小。
非常感谢任何正确方向的帮助或指示:)
这是我当前的代码:
class EditArtikel extends StatefulWidget {
final String path;
EditArtikel({this.path});
@override
_EditArtikelState createState() => _EditArtikelState(path: path);
}
class _EditArtikelState extends State<EditArtikel> {
final String path;
_EditArtikelState({this.path});
final titleController = TextEditingController();
final subtitleController = TextEditingController();
final authorController = TextEditingController();
final textController = TextEditingController();
File imageFile;
List<DropdownMenuItem<dynamic>> dropdownMenuItemFromList() {
List<DropdownMenuItem<dynamic>> itemsList = [];
for (var i = 1; i < currentTags.length; i++) {
itemsList.add(new DropdownMenuItem(
child: Text(currentTags[i]),
value: currentTags[i],
));
}
return itemsList; …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 Friebase-firestore 获取数据,然后将其转换为模型,我对另一个项目(网络项目)使用了相同的代码和方法,它工作正常,但对于这个项目它不起作用,我不知道为什么。我升级了 flutter 版本,运行 Flutter doctor ,环境设置没有问题。这是代码:
class dbService{
static final CollectionReference myCollection =
FirebaseFirestore.instance.collection('myCollection');
static Future<myModel> getMyInfo() async{
myModel sanaa ;
print('this line to print');
final QuerySnapshot myInfo =await myCollection.limit(1).get();
myInfo.docs.forEach((element) {
print(element.data()['name']);
sanaa= new myModel(
name:element.data()['name'].toString(),
title: element.data()["title"].toString(),
img: element.data()['img'].toString(),
);
print('\n print ------ ');
print(element.data()['name']);
print(' that is');
}
);
return sanaa;
}
}
class dbManager{
Stream<myModel> myInfoStream() async*{
yield await dbService.getMyInfo();
}
}
class _aboutStateState extends State<aboutState> {
Stream stream ;
dbManager mng = new …Run Code Online (Sandbox Code Playgroud) 如何将验证器函数添加到 RadioButtons 列表中,以便在用户提交后对其进行验证(如TextFormFields使用) ?_formKey.currentState.validate()Form