最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flutter添加頁面過渡動畫實現(xiàn)步驟

 更新時間:2022年05月16日 17:27:27   作者:會煮咖啡的貓咪  
這篇文章主要為大家介紹了Flutter添加頁面過渡動畫,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

大家好,在這篇文章中,我們將學習如何添加動畫,同時從一個頁面到其他在 Flutter。我們將覆蓋不同類型的動畫和實現(xiàn)基本動畫 Flutter 使用包頁動畫過渡。

動畫在提升用戶體驗方面起著至關(guān)重要的作用,但動畫到底是什么呢?

設計語言,例如 Material,定義了在路線(或屏幕)之間轉(zhuǎn)換時的標準行為。不過,有時候,自定義屏幕之間的轉(zhuǎn)換可以使應用程序更加獨特。

在本教程中,我們將使用包頁面 page_animation_transition 來簡化在頁面上添加轉(zhuǎn)換。

使用插件探索不同的轉(zhuǎn)換

步驟 1: 在 pubspec.yaml 中添加頁面動畫轉(zhuǎn)換

page_animation_transition

步驟 2: 在 PageOne 上導入庫

假設您正在從 PageOne 過渡到 PageTwo

以下是圖書館支持的動畫類型:

BottomToTopTransition   TopToBottomTransition  底到上轉(zhuǎn)換到底轉(zhuǎn)換

RightToLeftTransition 右轉(zhuǎn)移

LeftToRightTransition 左/右轉(zhuǎn)變

FadeAnimationTransition 淡化動畫/轉(zhuǎn)換

ScaleAnimationTransition 標量動畫/轉(zhuǎn)換

RotationAnimationTransition 轉(zhuǎn)動/動畫/轉(zhuǎn)變

TopToBottomFadedTransition 上到下到過渡

BottomToTopFadedTransition 底部/上部/下部/上部/下部/上部/下部/上部/下部/上部/下部/上部/

RightToLeftFadedTransition 右轉(zhuǎn)到/ftfaded/transition

LeftToRightFadedTransition 左/右/插入/轉(zhuǎn)換

步驟3.添加以下導航代碼行

Navigator.of(context).push(PageAnimationTransition(page: const PageTwo(), pageAnimationType: BottomToTopTransition()));

對于預定義的路由:

onGenerateRoute: (settings) {
    switch (settings.name) {
      case '/pageTwo':
        return PageAnimationTransition(child: PageTwo(), pageAnimationType: LeftToRightFadedTransition());
        break;
      default:
        return null;
    }
  }

Navigator.pushNamed(context, '/pageTwo');

Pushnamed (context,’/pageTwo’) ;

Output:

輸出:

其他類型轉(zhuǎn)換的完整代碼:

import 'package:page_animation_transition/animations/bottom_to_top_faded_transition.dart';
import 'package:page_animation_transition/animations/bottom_to_top_transition.dart';
import 'package:page_animation_transition/animations/fade_animation_transition.dart';
import 'package:page_animation_transition/animations/left_to_right_faded_transition.dart';
import 'package:page_animation_transition/animations/left_to_right_transition.dart';
import 'package:page_animation_transition/animations/right_to_left_faded_transition.dart';
import 'package:page_animation_transition/animations/right_to_left_transition.dart';
import 'package:page_animation_transition/animations/rotate_animation_transition.dart';
import 'package:page_animation_transition/animations/scale_animation_transition.dart';
import 'package:page_animation_transition/animations/top_to_bottom_faded.dart';
import 'package:page_animation_transition/animations/top_to_bottom_transition.dart';
import 'package:page_animation_transition/page_animation_transition.dart';
import 'page_two.dart';
import 'package:flutter/material.dart';class PageOne extends StatelessWidget {
  const PageOne({Key? key}) : super(key: key);[@override](http://twitter.com/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Page Animation Transition'),
        centerTitle: true,
      ),
      body: SizedBox(
        width: MediaQuery.of(context).size.width,
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: BottomToTopTransition()));
                },
                child: const Text('Bottom To Top')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: TopToBottomTransition()));
                },
                child: const Text('Top to bottom')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: RightToLeftTransition()));
                },
                child: const Text('Right To Left')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: LeftToRightTransition()));
                },
                child: const Text('Left to Right')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: FadeAnimationTransition()));
                },
                child: const Text('Faded')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: ScaleAnimationTransition()));
                },
                child: const Text('Scale')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: RotationAnimationTransition()));
                },
                child: const Text('Rotate')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: TopToBottomFadedTransition()));
                },
                child: const Text('Top to Bottom Faded')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: BottomToTopFadedTransition()));
                },
                child: const Text('Bottom to Top Faded')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: RightToLeftFadedTransition()));
                },
                child: const Text('Right to Left Faded')),
            ElevatedButton(
                onPressed: () {
                  Navigator.of(context).push(PageAnimationTransition(
                      page: const PageTwo(),
                      pageAnimationType: LeftToRightFadedTransition()));
                },
                child: const Text('Left to Right Faded')),
          ],
        ),
      ),
    );
  }
}

輸出:

總結(jié)

希望這個博客能幫助你深入了解 Flutter 的轉(zhuǎn)變。謝謝閱讀,更多關(guān)于Flutter頁面過渡動畫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android控件ListView使用方法詳解

    Android控件ListView使用方法詳解

    這篇文章主要為大家詳細介紹了Android控件ListView的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android中buildToolVersion與CompileSdkVersion的區(qū)別

    Android中buildToolVersion與CompileSdkVersion的區(qū)別

    今天小編就為大家分享一篇關(guān)于Android中buildToolVersion與CompileSdkVersion的區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 淺談Android View滑動沖突的解決方法

    淺談Android View滑動沖突的解決方法

    本篇文章主要介紹了淺談Android View滑動沖突的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Android自定義view仿iOS彈出框效果

    Android自定義view仿iOS彈出框效果

    這篇文章主要為大家詳細介紹了Android自定義view仿iOS彈出框效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 解析Android數(shù)據(jù)加密之異或加密算法

    解析Android數(shù)據(jù)加密之異或加密算法

    本篇文章主要介紹了Android數(shù)據(jù)加密之異或加密算法,現(xiàn)在分享給大家,也給大家做個參考。有興趣的可以了解一下。
    2016-11-11
  • Android開源堆疊滑動控件仿探探效果

    Android開源堆疊滑動控件仿探探效果

    這篇文章主要為大家詳細介紹了Android開源堆疊滑動控件仿探探效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 在Android上實現(xiàn)HttpServer的示例代碼

    在Android上實現(xiàn)HttpServer的示例代碼

    本篇文章主要介紹了在Android上實現(xiàn)HttpServer的示例代碼,實現(xiàn)Android本地的微型服務器,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • android編程之menu按鍵功能實現(xiàn)方法

    android編程之menu按鍵功能實現(xiàn)方法

    這篇文章主要介紹了android編程之menu按鍵功能實現(xiàn)方法,實例分析了Android實現(xiàn)menu的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 注解處理器(APT)是什么

    注解處理器(APT)是什么

    APT是JDK提供的工具,用于在編譯階段未生成class之前對源碼中的注解進行掃描和處理,獲取到注解后可以使用原始方法與JavaPoet生成Java代碼,這篇文章主要介紹了注解處理器(APT)是什么?需要的朋友可以參考
    2023-02-02
  • Android仿京東首頁輪播文字效果

    Android仿京東首頁輪播文字效果

    這篇文章主要介紹了Android仿京東首頁輪播文字效果,又名垂直跑馬燈,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論

什邡市| 南皮县| 历史| 永春县| 芜湖县| 融水| 囊谦县| 保亭| 镇巴县| 湖北省| 阳春市| 商河县| 慈利县| 龙川县| 浙江省| 秦皇岛市| 兴隆县| 大理市| 济宁市| 阳曲县| 松潘县| 绥中县| 江川县| 建宁县| 辽中县| 定安县| 清苑县| 石门县| 克拉玛依市| 天祝| 那坡县| 阿尔山市| 东兰县| 读书| 铜鼓县| 花莲市| 汉寿县| 若尔盖县| 兴隆县| 盐城市| 班戈县|