我正在播放视频 .
没有底部导航栏,视图看起来很完美 .
宽度与设备的宽度相同 .
但是使用底部导航栏,宽度会变小一些 .
因此,视频's width doesn' t填充设备的宽度,两侧都会有空白区域 .
我不知道这是什么问题 . 喜欢这些形象
Code
// bottom navigation
return WillPopScope(
onWillPop: () async {
await Future<bool>.value(true);
},
child: CupertinoTabScaffold(
tabBar: CupertinoTabBar(
iconSize: 36.0,
activeColor: Colors.black,
inactiveColor: Colors.grey,
backgroundColor: Colors.white,
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Container(),
),
BottomNavigationBarItem(
icon: Icon(Icons.whatshot),
title: Container(),
),
BottomNavigationBarItem(
icon: Icon(Icons.search),
title: Container(),
),
BottomNavigationBarItem(
icon: Icon(Icons.subscriptions),
title: Container(),
),
],
),
tabBuilder: (BuildContext context, int index) {
return CupertinoTabView(
builder: (_) {
return _pages[index];
},
);
},
),
);
// video page
return Scaffold(
body: SafeArea(
child: Stack(
children: <Widget>[
Center(
child: AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
)
),
Align(
alignment: Alignment.topLeft,
child: Icon(Icons.history, color: Colors.white)
),
Align(
alignment: Alignment.bottomCenter,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Icon(Icons.tag_faces, color: Colors.white),
Icon(Icons.lightbulb_outline, color: Colors.white)
],
),
)
],
)
)
);
有谁知道这是什么问题?
1 回答
底部导航栏不在堆栈中,因此它缩小了为堆栈分配的空间 . 视频具有设定的宽高比,因此当垂直空间减小时,宽度也减小 . 尝试将视频播放器包装在
FittedBox
中 .