예제 #1
0
 void AddScrollableOffset()
 {
     if (Device.RuntimePlatform != Device.macOS)
     {
         var cr = Content.Bounds;
         cr.Height += ServoView.Bounds.Top;
         MainStackLayout.Layout(cr);
     }
 }
예제 #2
0
 void ViewModelOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs)
 {
     if (propertyChangedEventArgs.PropertyName == nameof(_viewModel.FloatingButtonVisibility))
     {
         EraseFloatingButton.ScaleTo(_viewModel.FloatingButtonVisibility ? 1 : 0, easing: Easing.Linear);
     }
     else if (propertyChangedEventArgs.PropertyName == nameof(_viewModel.ServoVisibility))
     {
         if (_viewModel.ServoVisibility)
         {
             ShowServo();
         }
         else
         {
             HideServo();
         }
     }
     else if (propertyChangedEventArgs.PropertyName == nameof(_viewModel.UrlFocused))
     {
         var black = Color.FromRgba(0, 0, 0, 100);
         UrlBackground.BackgroundColor = _viewModel.UrlFocused ? black : Color.Transparent;
     }
     else if (propertyChangedEventArgs.PropertyName == nameof(_viewModel.CanGoBack))
     {
         BackButton.Scale = _viewModel.CanGoBack ? 1 : 0;
     }
     else if (propertyChangedEventArgs.PropertyName == nameof(_viewModel.ToolbarOffset))
     {
         var deviceFactor = -1;
         if (Device.RuntimePlatform == Device.macOS)
         {
             deviceFactor = 1;
         }
         MainStackLayout.TranslateTo(0, deviceFactor * _viewModel.ToolbarOffset);
         float factor = (float)_viewModel.ToolbarOffset / (float)_viewModel.ToolbarHeight;
         UrlView.FadeTo(1 - 3 * factor);
     }
 }
예제 #3
0
 public MyDetailPage()
 {
     InitializeComponent();
     MainStackLayout.ScaleTo(0);
 }
예제 #4
0
 protected async override void OnAppearing()
 {
     base.OnAppearing();
     await MainStackLayout.ScaleTo(1, 250, Easing.Linear);
 }