首页 文章

移动视频宽度没有填充Android和iOS的底部导航栏

提问于
浏览
1

我正在播放视频 .
没有底部导航栏,视图看起来很完美 .
宽度与设备的宽度相同 .
但是使用底部导航栏,宽度会变小一些 .
因此,视频'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 回答

  • 0

    底部导航栏不在堆栈中,因此它缩小了为堆栈分配的空间 . 视频具有设定的宽高比,因此当垂直空间减小时,宽度也减小 . 尝试将视频播放器包装在 FittedBox 中 .

    FittedBox(fit: BoxFit.fitWidth, child: VideoPlayer(_controller));
    

相关问题