第二十一章:变换(一)

在StackLayout和Grid的帮助下,Xamarin.Forms可以很好地确定页面上视觉元素的大小和位置。但是,有时候,应用程序需要(或方便)进行一些调整。您可能希望稍微偏移元素的位置,更改它们
大小,甚至旋转它们。
使用Xamarin的特征可以实现位置,大小或方向的这种变化。称为变换的形式。变换的概念起源于几何。变换是将点映射到其他点的公式。例如,如果要在笛卡尔坐标系上移动几何对象,可以将常量偏移因子添加到定义该对象的所有坐标。
这些数学,几何变换在计算机图形编程中起着至关重要的作用,它们有时被称为矩阵变换,因为它们最容易使用矩阵代数进行数学表达。没有变换,就没有3D图形。但是多年来,变换已经从图形编程迁移到用户界面编程。 Xamarin.Forms支持的所有平台都支持可应用于用户界面元素(如文本,位图和按钮)的基本转换。
Xamarin.Forms支持三种基本类型的转换:

  • Translation - 水平或垂直或两者都移动元素。
  • Scale - 更改元素的大小。
  • Rotation- 围绕点或轴旋转元素。

Xamarin.Forms支持的缩放在所有方向上是均匀的,技术上称为各向同性缩放。 您无法使用缩放来更改可视元素的纵横比。 屏幕的二维表面和3D空间都支持旋转。 Xamarin.Forms不支持偏移变换或广义矩阵变换。
Xamarin.Forms支持VisualElement类的八个属性的这些转换。 这些属性都是double类型:

  • TranslationX
  • TranslationY
  • Scale
  • Rotation
  • RotationX
  • RotationY
  • AnchorX
  • AnchorY

正如您将在下一章中看到的那样,Xamarin.Forms还具有广泛且可扩展的动画系统,可以定位这些属性。 但您也可以使用Device.StartTimer或Task.Delay自行执行变换动画。 本章演示了一些动画技术,可能会帮助您进入动画框架,为第22章做准备。

猜你喜欢

转载自yq.aliyun.com/articles/684282
今日推荐