视差图片

一个绘制和移动图片的 Flutter 组件,其移动速度比主滚动内容慢。

parallax-image

安装

将依赖项添加到您的 pubspec.yaml

dependencies:
  parallax_image: ^0.2.0

用法

ParallaxImage 可以与任何 Scrollable(例如 ListView)一起使用。
创建时,它会订阅最近的 Scrollable 祖先的滚动更新。
也可以指定自定义 ScrollController,在这种情况下,此
widget 会订阅 ScrollController.position 上的更新(假设
控制器仅附加到一个 Scrollable)。

class MyWidget extends StatefulWidget {
  @override
  MyWidgetState createState() => new MyWidgetState();
}

class MyWidgetState extends State<MyWidget> {
  final _controller = new ScrollController();

  @override
  Widget build(BuildContext context) {
    return new ListView(controller: _controller, children: [
      new ParallaxImage(
        image: new AssetImage('images/january.jpg'),
        // Extent of this widget in scroll direction.
        // In this case it is vertical scroll so extent defines
        // the height of this widget.
        // The image is scaled with BoxFit.fitWidth which makes it
        // occupy full width of this widget.
        // After image is scaled it should normally have height greater
        // than this value to allow for parallax effect to be
        // visible.
        extent: 100.0,
        // Optionally specify child widget.
        child: new Text('January'),
        // Optinally specify scroll controller.
        controller: _controller,
      ),
      // ...add more list items
    ]);
  }
}

请参阅 example/ 文件夹以获取完整的演示。

GitHub

https://github.com/pulyaevskiy/parallax-image