transform概述
Transform
的主要作用是矩阵转换,在Container
中矩阵变换就是使用了Transform
,同事Transform
也可以对child
做平移、旋转、及缩放等操作。
transform基本属性
属性名 | 类型 | 说明 |
---|---|---|
transform | Matrix4 | 一个4X4的矩阵,不难发现,其他平台的变换矩阵也都是思维的。一些复合操作,仅靠三维是不够的,必须采用额外的一维来补充。 |
origin | Offset | 一旋转点,相对于左上角定点的偏移,默认旋转点是左上角的顶点。 |
alignment | AlignmentGeometry | 对其方式 |
transformHitTests | bool | 点击区域是否也做相应的改变 |
transform构造函数
const Transform({
Key key,
@required this.transform,
this.origin,
this.alignment,
this.transformHitTests = true,
Widget child,
})
基本函数的属性可以参考transform
的基本属性。
transform示例代码
import 'package:flutter/material.dart';
/**
* Transform矩阵转换示例
*/
void main(){
runApp(new MaterialApp(
title: 'Transform矩阵转换示例',
home: new MyApp(),
));
}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
appBar: AppBar(
title: new Text('Transform矩阵转换示例'),
),
body: new Center(
child: Container(
color: Colors.grey,
child: Transform(
alignment: Alignment.topRight,
transform: Matrix4.rotationZ(0.3),
child: Container(
padding: const EdgeInsets.all(8.0),
color: const Color(0xFFE8581C),
child: const Text('Transform矩阵转换'),
),
),
),
),
);
}
}