【问题标题】:Flutter: AnimatedContainer change height while slidingFlutter:AnimatedContainer在滑动时改变高度
【发布时间】:2021-08-18 11:17:21
【问题描述】:

我正在使用Sliding Up Panel 包来使用滑动面板。滑动面板位于 Scaffold 的 bottomNavigationBar 上方,它有 AnimatedContainer。滑动面板有一个onPanelSlide 函数,表示它的状态从 0.0(关闭/未展开)到 1.0(打开/展开)。在下面的 gif 中,我有红色的滑动面板,而不是扩展集的 AnimatedContainers 高度为 0 和关闭状态下的初始高度。我怎样才能让它动态改变它的高度,以便在滑动面板完全打开的同时将它的高度设置为 0?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您可以简单地使用 Container 并在每次 onPanelSlide 调用时设置高度参数

    const NAV_BAR_HEIGHT = 100.0;
    
    double height = NAV_BAR_HEIGHT;
    
    onPanelSlide: (double position) {
       setState((){
          height = NAV_BAR_HEIGHT - position * NAV_BAR_HEIGHT;
       });
    }
    
    Container(
       height:height,
       child: MyNavBar(),
    )
    

    【讨论】:

    • 有点用。主要问题是导航栏的高度。我变得更高了。我尝试将 NAV_BAR_HEIGHT 更改为不同的值,但没有成功
    • 试试 ConstrainedBox 可能有 maxHeight 约束
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2013-04-09
    • 2011-08-25
    • 2013-05-09
    相关资源
    最近更新 更多