本文整理汇总了C#中Xamarin.Forms.BoxView.LayoutTo方法的典型用法代码示例。如果您正苦于以下问题:C# BoxView.LayoutTo方法的具体用法?C# BoxView.LayoutTo怎么用?C# BoxView.LayoutTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Xamarin.Forms.BoxView
的用法示例。
在下文中一共展示了BoxView.LayoutTo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AnimationsSample
public AnimationsSample()
{
var button = new Button
{
Text = "Animate",
};
var box = new BoxView
{
WidthRequest = 100,
HeightRequest = 100,
Color = Color.Red,
HorizontalOptions = LayoutOptions.Center,
};
var stack = new StackLayout
{
Padding = 10,
Spacing = 10,
VerticalOptions = LayoutOptions.FillAndExpand,
Children =
{
button,
box
}
};
this.Content = stack;
button.Clicked += async (s, e) =>
{
button.IsEnabled = false;
box.Color = Color.Green;
var original = box.Bounds;
var newPosition = box.Bounds;
newPosition.Y = this.Height - box.Height;
await box.LayoutTo(newPosition, 2000, Easing.BounceOut);
await box.FadeTo(0, 2000);
box.Color = Color.Yellow;
box.ScaleTo(2, 2000);
await box.FadeTo(1, 2000);
box.ScaleTo(1, 2000);
box.Color = Color.Green;
await box.LayoutTo(original, 2000, Easing.Linear);
box.Color = Color.Red;
button.IsEnabled = true;
};
}
示例2: SingleAnimationPage
public SingleAnimationPage()
{
// アニメーション用のボックスを生成
var boxView = new BoxView
{
Color = Color.Blue,
};
// アニメーション開始用のボタンを生成
var button = new Button
{
Text = "Animation",
};
// ボタン押し時の挙動
button.Clicked += (sender, e) =>
{
// 画面下までボックスをアニメーションさせる
boxView.LayoutTo(new Rectangle(0, boxView.Y + boxView.Height, boxView.Width, boxView.Height));
};
// レイアウト用のグリッドを生成
var grid = new Grid
{
// 画面縦いっぱいに表示する
VerticalOptions = LayoutOptions.FillAndExpand,
RowDefinitions =
{
new RowDefinition { Height = new GridLength(1, GridUnitType.Star) },
new RowDefinition { Height = new GridLength(1, GridUnitType.Star) },
},
};
// グリッドにパーツを設定
grid.Children.Add(button, 0, 0);
grid.Children.Add(boxView, 0, 1);
// ページのコンテントにグリッドを設定
Content = grid;
}
示例3: MultiAnimationPage
public MultiAnimationPage()
{
#region アニメーション用のボックスの生成
// 移動値算出用のボックスを生成
var boxViewBackground = new BoxView
{
Color = Color.Transparent,
};
// 全面アニメーション用のボックスを生成
var boxViewFront = new BoxView
{
Color = Color.Blue,
};
// 背面アニメーション用のボックスを生成
var boxViewBack = new BoxView
{
Color = Color.Red,
};
#endregion
#region アニメーション制御用のボタン類の設定
// 移動アニメーション制御用のボタンを生成
var buttonMove = new Button
{
Text = "Animation",
};
// ボタン押し時の挙動
buttonMove.Clicked += (sender, e) =>
{
var box = boxViewBackground;
// 下降アニメーション用のレクタングル
var moveDownRect = new Rectangle(0, box.Y + box.Height, box.Width, box.Height);
// 上昇アニメーション用のレクタングル
var moveUpRect = new Rectangle(0, box.Y, box.Width, box.Height);
if (boxViewFront.Y == boxViewBackground.Y)
{
// 現在のレイアウトから指定のレイアウトにアニメーションさせる
// ここではRectangleのサイズを変更していないので、単なる下方への移動アニメーション
boxViewFront.LayoutTo(moveDownRect);
}
else
{
// 現在のレイアウトから指定のレイアウトに、指定時間かけてボックスをアニメーションさせる
// ここではRectangleのサイズを変更していないので、単なる上方への移動アニメーション
boxViewFront.LayoutTo(moveUpRect, 1000);
}
};
// 拡大縮小アニメ制御用のボタンを生成
var buttonScale = new Button
{
Text = "Scale",
};
// ボタン押し時の挙動
buttonScale.Clicked += (sender, e) =>
{
if (boxViewFront.Scale == 1)
{
// ボックスのスケールが1だった場合
// 指定秒かけてScaleを0にする
boxViewFront.ScaleTo(0, 500);
}
else
{
// ボックスのスケールが0だった場合
// 指定秒かけてScaleを1にする
boxViewFront.ScaleTo(1, 1000);
}
};
// 回転アニメ制御用のボタンを生成
var buttonRelRotate = new Button
{
Text = "RelRotate",
};
// ボタン押し時の挙動
buttonRelRotate.Clicked += (sender, e) =>
{
// ボタンが押されるたびにボックスを30度ずつ回転させる
boxViewFront.RelRotateTo(30, 500);
};
#endregion
#region レイアウト関連
// ボタン用のレイアウト
var stack = new StackLayout
{
Children =
{
buttonMove,
buttonScale,
buttonRelRotate,
},
};
// ページ全体のレイアウト用のグリッドを生成
var grid = new Grid
//.........这里部分代码省略.........