微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在颤振中将液体滑动动画添加到主页中?

如何解决如何在颤振中将液体滑动动画添加到主页中?

  1. 我正在尝试在 Flutter 中添加 Liquid Swipe 以进行介绍 Slide it Works Fine
  2. 它工作正常,但循环无法移动到主页
  3. 我尝试添加 Navigator.push() 它不起作用
  4. 我的包裹liquid_swipe 2.1.0
  5. 我需要导航到我的 Header() 页面
  6. 当我单击“跳过”时,它会转到主页(Header())
  7. 列表项
  8. 提前致谢
  9. v2.0.0 迁移到空安全。

我的代码是:

import 'dart:math';

import 'package:abcde/widgets/headers.dart';
import 'package:Flutter/material.dart';
import 'package:liquid_swipe/liquid_swipe.dart';

void main() {
  /// Comment or uncomment to run both examples
  runApp(
    WithBuilder(),//WithPages()
  );
}

///Class to hold data for itembuilder in Withbuilder app.
class ItemData {
  final Color color;
  final String image;
  final String text1;
  final String text2;
  final String text3;

  ItemData(this.color,this.image,this.text1,this.text2,this.text3);
}

/// Example of LiquidSwipe with itemBuilder
class WithBuilder extends StatefulWidget {
  @override
  _WithBuilder createState() => _WithBuilder();
}

class _WithBuilder extends State<WithBuilder> {
  int page = 0;
  late LiquidController liquidController;
  late UpdateType updateType;

  List<ItemData> data = [
    ItemData(
        Colors.blue,'assets/images/img/gs.jpg',"Hi","It's Me","Sahdeep"),ItemData(Colors.deepPurpleAccent,"Take a","Look At","Liquid Swipe"),];
  @override
  void initState() {
    liquidController = LiquidController();
    super.initState();
  }

  Widget _buildDot(int index) {
    double selectedness = Curves.eaSEOut.transform(
      max(
        0.0,1.0 - ((page) - index).abs(),),);
    double zoom = 1.0 + (2.0 - 1.0) * selectedness;
    return new Container(
      width: 25.0,child: new Center(
        child: new Material(
          color: Colors.white,type: MaterialType.circle,child: new Container(
            width: 8.0 * zoom,height: 8.0 * zoom,);
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Stack(
          children: <Widget>[
            LiquidSwipe.builder(
              itemCount: data.length,itemBuilder: (context,index) {
                return Container(
                  color: data[index].color,child: Column(
                    crossAxisAlignment: CrossAxisAlignment.center,mainAxisSize: MainAxisSize.max,mainAxisAlignment: MainAxisAlignment.spaceEvenly,children: <Widget>[
                      Image.asset(
                        data[index].image,fit: BoxFit.cover,Padding(
                        padding: EdgeInsets.all(20.0),Column(
                        children: <Widget>[
                          Text(
                            data[index].text1,],);
              },positionSlideIcon: 0.8,slideIconWidget: Icon(Icons.arrow_back_ios),onPageChangeCallback: pageChangeCallback,waveType: WaveType.liquidReveal,liquidController: liquidController,ignoreUserGestureWhileAnimating: true,Padding(
              padding: EdgeInsets.all(20),child: Column(
                children: <Widget>[
                  Expanded(child: SizedBox()),Row(
                    mainAxisAlignment: MainAxisAlignment.center,children: List<Widget>.generate(data.length,_buildDot),Align(
              alignment: Alignment.bottomright,child: Padding(
                padding: const EdgeInsets.all(25.0),child: FlatButton(
                  onpressed: () {
                    liquidController.animatetoPage(
                        page: data.length - 1,duration: 700);
                  },child: Text("Skip"),color: Colors.white.withOpacity(0.01),Align(
              alignment: Alignment.bottomLeft,child: FlatButton(
                  onpressed: () {
                    liquidController.jumpToPage(
                        page: liquidController.currentPage + 1 > data.length - 1
                            ? 0
                            : liquidController.currentPage + 1);
                  },child: Text("Next"),)
          ],);
  }

  pageChangeCallback(int lpage) {
    setState(() {
      page = lpage;
    });
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。