在MAUI应用程序中,我们在屏幕底部显示一些信息:例如,我们在Shell的菜单底部显示版本号。
在大多数设备上,屏幕显示良好,完全可见。但是,在某些设备上,"系统导航栏"包含"返回"、"返回"one_answers"返回"。和";recent"按钮,显示在应用程序屏幕上方。这个键也叫"软键"。或者"system bar">
是否有办法获得这个系统导航栏的高度?
您可以使用自定义渲染器在每个平台上获得它。
Android
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中使用自定义渲染器,您可以查看。net MAUI中的使用自定义渲染器。