Skip to main content

Grial for .NET MAUI


Feb 28, 2023

New Content

  • Movies Flow. Here you can find examples of smooth animations, image transformations, and the video player. It consists of 3 screens: FeaturedMoviesPage, MovieDetailPage, MoviesMainPage

New features


We added support for transparent navigation bars. There are examples of how to use it in the Article pages and in the Movies Flow.

  • Here you have a summary of the API:
    • GrialNavigationPage.HideShadow: You can apply it to a page. If the property is true it will hide the shadow below the navigation bar in both platforms.
    • GrialNavigationPage.BarType: You can apply it to a page. The property could be Solid, Transparent and Unset. Depending on the value, it will change the navigation bar behavior. If the property is Unset, the default value, the navigation bar in the page is going to honor the behavior defined in the navigation page.
    • GrialNavigationPage.BarTextColor: You can apply it to a page. This property lets you change the navigation bar text color.
    • GrialNavigationPage.BarBackgroundColor: You can apply it to a page. This property lets you change the navigation bar background color.
  • We added the behavior SolidNavBarOnScrollBehavior that can be attached to Scrollviews. It lets you change the navigation bar colors based on the scroll position. It offers the properties EndBarBackgroundColor and EndBarTextColor. You can find examples of this in the Article pages.


  • The repeater now supports scrolling to a specific item. These are the properties to control the scroll:
    • ScrollToItem is a bindable property. Every time the property value changes, the repeater will automatically scroll to that item.
    • ScrollToAnimated is a boolean bindable property. If it is set to true, the scroll will be animated.
    • ScrollToPosition is an enum type bindable property. With this property, you can control the scroll behavior. For example, if you choose the "MakeVisible" option, the repeater will scroll until the item is visible. There are four options to choose from: "MakeVisible", "Start", "Center", and "End".


  • We added two properties: SolidNavBarOnScrollEndBarBackgroundColor and SolidNavBarOnScrollEndBarTextColor. These properties have the same behavior as the ones of the SolidNavBarOnScrollBehavior mentioned above.


  • There is an issue with the ToolbarItems in iOS: if you use a PNG icon, it will grow as much as it can. And in Android, if you use the FontImageSource you can't change its color dynamically. The ExtendedToolbarItem offers the same properties as the FontImageSource, but if the color of the ToolbarItem changes or the navigation bar text color changes, it will change the icon's color. The list of properties are: Glyph, FontFamily, Color and Size.

iOS SafeArea

  • Ignored layouts safe area through styles and the property LayoutProperties.IgnoreSafeArea as it doesn't provide fine-grained control on how to use padding to avoid safe areas
  • Ignored all page safe area through styles ios:Page.UseSafeArea since it adds a bottom hole in every screen with scroll
  • Grial's Safe Area extensions work in .NET MAUI now, read more here

Image Gray Scale effect

Now it's possible to turn an Image into a gray-scale Image with this new boolean attached property: grial:ImageProperties.GrayScale


  • This control is now available for .NET MAUI. It's like a WrapPanel but it supports single and multiple selection. You can find an example in the FoodPlacesDishReviewPage.


  • The drawer size is the same across the different devices. There was a small difference when opened at 100% of the screen on some devices.
  • The service IDisplayInformationService has changed. Now the properties ActualScreenHeight and ActualScreenWidth return the available space in the screen
  • The INavigationBarInfoService wasn’t returning the right navigation bar size on some Android devices
  • General iOS layout improvements in Grial by properly using the iOS Safe Area
  • Map Flow layout improvements


The minimum Android supported API is now 28 that corresponds to Android 9 from 2018.