【问题标题】:Flutter Animate Visibility with opacityFlutter Animate Visibility with opacity
【发布时间】:2021-12-12 16:02:03
【问题描述】:

Flutter Visibility Widget 允许隐藏和禁用其中包含的所有内容。但是,我想为不透明度设置动画并调用可见性。使用 Visibility 小部件会覆盖动画不透明度。根据我对其他语言的了解,这是可以预料的。

是否有一种简单方便的方法来实现动画的不透明度和可见性。 IT 将使生活变得比设置计时器更简单。

下面的例子使用了一个bool of hasAccess,使用Provider作为状态管理。

child: Stack(
  children: [

  Visibility(
    visible: hasAccess ? false : true,
    child: AnimatedOpacity(
      duration: Duration(milliseconds: 400),
      opacity: hasAccess ? 0 : 1,
      child: Text('Not logged in'),
  )), 

  Visibility(
    visible: hasAccess ? true : false,
    child: AnimatedOpacity(
      duration: Duration(milliseconds: 400),
      opacity: hasAccess ? 1 : 0,
      child: Text('Is logged in'),
   ),
  ), 
 ],
)

【问题讨论】:

    标签: flutter animation visibility opacity


    【解决方案1】:

    此示例中可见性的效果是从特定小部件及其子级中删除所有指针事件和活动。这可以通过多种不同的方式实现,而无需使用 Visibility Widget。

    IgnorePointer 类允许删除所有指针和触摸事件。 https://api.flutter.dev/flutter/widgets/IgnorePointer-class.html

    这可以与 AnimatedOpacity 协调使用,因为它是父级或子级。

    【讨论】:

      猜你喜欢
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 2011-10-08
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      • 2022-12-19
      相关资源
      最近更新 更多