shuhelohelo’s blog

Xamarin.Forms多めです.

Xamarin.FormsでScaleとRotationの中心を設定する

Xamarin.Formsのコントロールには拡大・縮小,回転,フェードイン・アウトなど基本的なアニメーションのためのメソッドが用意されています.

もちろん,Scale,Rotation,Opacityなどのプロパティの値を直接操作することもできます.

shuhelohelo.hatenablog.com

さて,このScaleとRotationについてですが ,Xamarin.Forms本に書かれているとおりその変化の中心を設定することができます.

books.google.co.jp

デフォルトではコントロールの中心が変化の中心ですが,これを変更できます.

AnchorXとAnchorYという2つのプロパティがそれです.

このプロパティには0~1の値を設定します.

AnchorXの0は左端, 1が右端になります. 同様にAnchorYの0は上端, 1が下端になります.

つまり中心は0.5です.

このように2つのプロパティを設定すると,そこが拡大縮小回転の中心となります.

例えば以下のようにコントロールの左上端を回転の中心に設定して360度回転させます.

f:id:shuhelohelo:20200313132051g:plain

ソースコード

github.com