1. 程式人生 > >第二十一章:變換(一)

第二十一章:變換(一)

在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章做準備。