public PanGestureExample3 ()
		{
			InitializeComponent ();
			MainLayout.OnLayoutChildren += MainLayout_OnLayoutChildren;

			OuterView = new StackLayout {
				Padding = new Thickness (50),
				BackgroundColor = Color.Yellow
			};
			this.MainLayout.Children.Add (OuterView);
			OuterView.Layout (_outerLayoutBounds);

			Box = new BoxView {
				Color = Color.Red,
				WidthRequest = 150,
				HeightRequest = 150,
			};
			OuterView.Children.Add (Box);
			var panRecognizer = new PanGestureRecognizer ();
			panRecognizer.IsConsumingTouchesInParallel = true;
			panRecognizer.OnAction += Gesture_OnAction;
			Box.AddGestureRecognizer (panRecognizer);

			Box2 = new BoxView ();
			Box2.Color = Color.Blue;
			this.MainLayout.Children.Add (Box2);
			Box2.Layout (_box2Bounds);
			panRecognizer = new PanGestureRecognizer ();
			panRecognizer.OnAction += Gesture_OnAction;
			panRecognizer.IsConsumingTouchesInParallel = true;
			Box2.AddGestureRecognizer (panRecognizer);
			DoBoxAnimation ();

		}
Example #2
0
		public void IntegrationTest ()
		{
			var platform = new UnitPlatform ((b, d, e) => new SizeRequest(new Size(100,50)));

			var parent = new StackLayout {
				Platform = platform,
				Spacing = 0,
				IsPlatformEnabled = true,
			};

			var child1 = new Button {
				Text = "Test",
				VerticalOptions = LayoutOptions.Start,
				HorizontalOptions = LayoutOptions.Start,
				Platform = platform,
				IsPlatformEnabled = true,
			};

			var child2 = new Button {
				Text = "Test",
				Platform = platform,
				IsPlatformEnabled = true,
			};

			child2.Margin = new Thickness (5, 10, 15, 20);

			parent.Children.Add (child1);
			parent.Children.Add (child2);

			parent.Layout (new Rectangle (0, 0, 1000, 1000));

			Assert.AreEqual (new Rectangle (0, 0, 100, 50), child1.Bounds);
			Assert.AreEqual (new Rectangle (5, 60, 980, 50), child2.Bounds);

			child1.Margin = new Thickness (10, 20, 30, 40);

			Assert.AreEqual (new Rectangle (10, 20, 100, 50), child1.Bounds);
			Assert.AreEqual (new Rectangle (5, 120, 980, 50), child2.Bounds);
		}