【发布时间】:2021-01-16 23:27:03
【问题描述】:
我想要 NavigationBar 的高度,尝试使用 CustomRenderer 但无论是平板电脑、Android 手机,总是得到相同的值。
我正在使用以下代码
namespace OfflineFieldService.Droid
{
public class CustomAndroidPageRenderer : PageRenderer
{
public CustomAndroidPageRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
var height = 0;
var resources = Context.Resources;
int resourceId = resources.GetIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0)
{
height = resources.GetDimensionPixelSize(resourceId);
}
var scale = Resources.DisplayMetrics.Density;
var heightinUnits = (height - .5) / scale;
App.screenHeight = heightinUnits;
}
}```
[Attached image in the link, since dont have permission to embed][1]
[1]: https://i.stack.imgur.com/UosCb.png
In the image whatever marked in yellow, need to get the height of it. I am using Shell template.
【问题讨论】:
标签: xamarin xamarin.forms xamarin.android custom-renderer