轻松flutter 之 时间处理 | 动画 | 启动页

本文详细介绍了Flutter中的计时器使用,包括Duration和Timer类。接着讲解了Flutter动画的基础,如Animation、CurvedAnimation、AnimationController和Tween,并提供了使用示例。最后提到了如何在Flutter应用中实现Android启动页。
摘要由CSDN通过智能技术生成

一. 计时器

要使用计时器先要导入dart:async包,
整个计时器体验和JS基本一致

1. Duration 间隔

这里先介绍一个dart自带的类: Duration

2. Timer 计时器

再介绍一个dart自带的非常好用的类Timer,

Timer(间隔, 回调)

import 'dart:async';

    final timeout = Duration(seconds: 3);
    Timer(timeout, () {
      print("时间到,我被执行了!");
    });

二. 动画

flutter动画分为两大类:

  • 补间动画(Tween)
  • 基于物理的动画

在为widget添加动画之前,先让我们认识下动画的几个朋友:

  • Animation:是Flutter动画库中的一个核心类,它生成指导动画的值;
  • CurvedAnimationAnimation的一个子类,将过程抽象为一个非线性曲线;
  • AnimationControllerAnimation的一个子类,用来管理Animation
  • Tween:在正在执行动画的对象所使用的数据范围之间生成值。例如,Tween可生成从红到蓝之间的色值,或者从0到255;

1. Animation //动画过程

在Flutter中,Animation对象本身和UI渲染没有任何关系。Animation是一个抽象类,它拥有其当前值和状态(完成或停止)。

  • Animation还可以生成除double之外的其他类型值,如:Animation<Color>()Animation<Size>()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Flutter应用程序中实现全屏启动,你可以按照以下步骤进行操作: 1. 在`AndroidManifest.xml`文件中,为你的启动Activity添加以下属性: ```xml android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" ``` 这将使启动Activity以全屏模式显示。 2. 在`launch_background.xml`文件中,使用以下代码来设置全屏启动: ```xml <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/splash_background" /> <!-- 添加你的启动图像或Logo --> <item> <bitmap android:gravity="center" android:src="@mipmap/ic_launcher" /> </item> </layer-list> ``` 这将设置一个全屏的启动背景,并在中间显示你的启动图像或Logo。 3. 在`styles.xml`文件中,为你的应用程序添加以下样式: ```xml <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> <item name="android:windowBackground">@drawable/launch_background</item> </style> ``` 这将确保应用程序在启动时使用你的全屏启动。 4. 在`MainActivity.kt`(或`MainActivity.java`)文件中,修改`onCreate()`方法,添加以下代码来设置透明状态栏和导航栏: ```kotlin import android.os.Build import android.os.Bundle import io.flutter.embedding.android.FlutterActivity class MainActivity : FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { window.setDecorFitsSystemWindows(false) } else { window.decorView.systemUiVisibility = ( View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY ) } } } ``` 这将使状态栏和导航栏透明,以实现全屏效果。 完成上述步骤后,你的Flutter应用程序的启动将会显示为全屏。记得替换代码中的相应资源或样式文件,以适应你自己的项目需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值