我有一个带有大量不同视图的TabBarView().我希望它们是一个顶部有TextField的列,下面是ListView.Builder(),但两个小部件应该在同一个可滚动区域(scrollview).我实现它的方式引发了一些错误:
@override
Widget build(BuildContext context) {
return new Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
new Padding(
padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
child: new TextField(
decoration: new InputDecoration(
hintText: "Type in here!"
),
)
),
new ListView.builder(
itemCount: _posts.length, itemBuilder: _postBuilder)
],
);
}
Run Code Online (Sandbox Code Playgroud)
错误:
I/flutter (23520): The following assertion was thrown during performResize():
I/flutter (23520): Vertical viewport was given unbounded height.
I/flutter (23520): Viewports expand in the scrolling direction to fill their container.In this case, a vertical
I/flutter (23520): …
Run Code Online (Sandbox Code Playgroud) 我有一个带有两个按钮的界面,这些按钮会弹出并返回true或false,如下所示:
onPressed: () => Navigator.pop(context, false)
Run Code Online (Sandbox Code Playgroud)
我需要调整应用栏中的后退按钮,因此它会弹出并返回false。有没有办法做到这一点?
我想用白色容器覆盖卡片,但容器总是需要一个高度(否则它不会显示).我希望它和它的父,堆栈一样大.我怎样才能做到这一点?卡的高度各不相同.我想我错过了一些东西;)
return new Stack(
children: <Widget>[
new Card( ... ),
new Container(color: Colors.white70),
]
);
Run Code Online (Sandbox Code Playgroud) 有没有办法显示(生产中)自定义错误窗口小部件,而不是显示红色的死亡屏幕?我不会更改框架代码,即使我们试图在没有错误的情况下进行编程,也无法保证它会发生。
有两种方法可以更改用户在显示上看到的内容:我可以推送到另一个页面,或者可以更改有状态小部件的状态并重建它。你能告诉我哪种方法是最佳实践吗?(如果这取决于——我猜——取决于什么?)
推动:
class Pushing extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: RaisedButton(
onPressed: () => Navigator.push(context, new MaterialPageRoute(builder: (context) => new SecondPage())),)
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
使用状态
class UsingStates extends StatefulWidget {
@override
State createState() => new _UsingStatesState();
}
class _UsingStatesState extends State<UsingStates> {
bool isPageTwo;
@override
void initState() {
isPageTwo = false;
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: isPageTwo ? Center(child: Text('Page two')) : Center(child: RaisedButton(onPressed: () {
setState(() …
Run Code Online (Sandbox Code Playgroud)