在MAUI应用程序上,我们在屏幕底部显示一些信息:例如,我们在Shell的菜单底部显示的版本号。在大多数设备上,屏幕显示效果很好,完全可见。然而,在某些设备上,包含“返回”,“主页”和“最近”按钮的“系统导航栏”显示在应用程序屏幕上方。这个栏也被称为“软键”或“系统栏”。有办法得到这个系统导航栏的高度吗?
cxfofazt1#
您可以在每个平台上使用自定义渲染器获得它。
适用于安卓系统
public class NaviRendererForAndroid : NavigationPageRenderer { public CustomNaviForAndroid(Context context) : base(context) { } protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e) { base.OnElementChanged(e); var height = 0; Resources resources = Context.Resources; int resourceId = resources.GetIdentifier("navigation_bar_height", "dimen", "android"); if (resourceId > 0) { height = resources.GetDimensionPixelSize(resourceId); } } }
iOS版
public class NaviRendererForiOS : NavigationRenderer { protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); var height = NavigationBar.Bounds.Height; } }
关于如何在MAUI中使用自定义渲染器,您可以检查Using Custom Renderers in .NET MAUI。
1条答案
按热度按时间cxfofazt1#
您可以在每个平台上使用自定义渲染器获得它。
适用于安卓系统
iOS版
关于如何在MAUI中使用自定义渲染器,您可以检查Using Custom Renderers in .NET MAUI。