我在Tab中使用TabBarView。我的标签栏视图包含输入表单。现在,当键盘打开时,小部件就会溢出
我尝试使用Listview和SingleChildScrollView来避免此问题,但对我不起作用。使用ListView或SingleChildScrollView时,屏幕变为空白。
@override
Widget build(BuildContext context) {
SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
return new Scaffold(
resizeToAvoidBottomPadding: true,
body: SafeArea(
child: DefaultTabController(
length: 2,
child: Column(
children: <Widget>[
Expanded(
flex: 0,
child: TabBar(
tabs: [
Tab(text: 'Sign In'),
Tab(text: 'Sign Up'),
],
labelColor: Theme.of(context).primaryColor,
unselectedLabelColor: Colors.grey,
indicatorPadding: const EdgeInsets.symmetric(horizontal: 16.0),
labelPadding: const EdgeInsets.symmetric(vertical: 4.0),
),
),
Expanded(
flex: 1,
child: TabBarView(
children: [_buildSignInForm(), _buildSignupForm()]),
)
],
),
),
),
backgroundColor: Colors.white,
);
}
答案 0 :(得分:1)
将Column
包裹在Container
小部件中,并设置高度以匹配屏幕高度:
`height: MediaQuery.of(context).size.height,`