我正在尝试使用Flutter中的一些图标制作一个简单的AppBar小部件,但我不断得到这个断言:
The following assertion was thrown building IconButton(Icon(IconData(U+0E5D2)); disabled; tooltip:
我几乎只是模仿了文档,但这是我的代码:
import 'package:flutter/material.dart'; void main() { runApp(new MaterialApp( title: "Stateless Widget Example",home: new AppBar(title: new Text("App Bar")) )); } class AppBar extends StatelessWidget { AppBar({this.title}); final Widget title; @override Widget build(BuildContext context) { return new Container( height: 56.0,padding: const EdgeInsets.symmetric(horizontal: 8.0),decoration: new BoxDecoration( color: Colors.cyan,border: new Border( bottom: new BorderSide( width: 1.0,color: Colors.black ) ) ),child: new Row ( children: <Widget> [ new IconButton( icon: new Icon(Icons.menu),tooltip: 'Navigation menu',onPressed: null,// null disables the button ),new Expanded(child: title) ] ) ); } }
我觉得我错过了一个重要的东西.但我不完全确定.也许我的电脑只是表现得很好,因为Flutter跑步对我来说是错误的.我是Dart和Flutter的新手,所以也许我只是没有看到明显的错误.
解决方法
IconButton是一个Material Widget,因此您需要在Material父级中使用它,例如:
Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar(title: new Text(widget.title),actions: <Widget>[ new IconButton( icon: new Icon(Icons.favorite),tooltip: 'Favorite',onPressed: () {},),new IconButton( icon: new Icon(Icons.more_vert),]),body: new Center( child: new Text('This is the body of the page.'),); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。