第四十六回:Transform Widget

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码

我们在上一章回中介绍了Checkbox Widget相关的内容,本章回中将介绍 Transform Widget.闲话休提,让我们一起Talk Flutter吧。

概念介绍

我们在这里说的Transform是一种容器类widget,它和Container组件类似。它可以包含其它的组件,并且对被包含的组件进行平移,旋转、翻转和缩放操作。本章回中将详细介绍它的使用方法。

其实我们在上一章回中已经使用过该组件,只是没有详细介绍而已。Checkbox有一个缺点就是无法控制自身的大小,我们可以将它放在Transform组件中,然后对它进行缩放操作,进而达到控制大小的目的。

使用方法

通常情况下使用组件时需要通过组件的构造方法来创建组件,Transform组件则不然,它提供了静态方法,通过静态方法可以创建Transform组件并且对其中的组件进行相关的操作,下面是常用的构造方法以及其功能:

  • translate方法:主要用来对被包含组件进行平移操作,通过参数offset来设置平移的距离;
  • rotate方法:主要用来对被包含组件进行旋转操作,通过参数angle来设置旋转的角度;
  • scale方法:主要用来对被包含组件进行缩放操作,通过参数scale来设置缩放的倍数;
  • flip方法:主要用来对被包含组件进行翻转操作,通过参数flipX来设置左右倒置,通过参数flipY来设置上下翻转;

这四种中方法中都有一个child属性,用来指定被包含的组件,这是容器类组件的特点。

示例代码

//平移
final Widget _translate = Transform.translate(
  offset: const Offset(0, 0),
  child: const Text("Transform.translate"),
);

//旋转
final Widget _rotate = Transform.rotate(
  angle: 30,
  child: const Text("Transform.rotate"),
);

//上下翻转或者左右倒置
final Widget _flip = Transform.flip(
  flipX: true,
  flipY: false,
  filterQuality: FilterQuality.medium,
  child: const Text("Transform.flip"),
);

在上面的代码中,创建了三个Transform组件,把它们赋值为Scaffold组件的body属性就可以直接使用。被包含的组件是一个Text组件,编译并且运行上面的程序,就可以看到文本内容被平移、旋转和倒置。我在这里就不演示程序运行结果了,建议大家自己动手去实践。

此外,这里没有演示缩放操作的代码,它的用法和其它操作类似,大家可以参考上一章回中Checkbox组件的示例代码,我们通过Transformscale方法对Checkbox组件进行缩放操作。

看官们,关于Transform Widget的内容就介绍到这里,欢迎大家在评论区交流与讨论!

你可能感兴趣的:(一起Talk,Flutter吧,flutter,transform,translate,rotate,flip)