Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.ios 获取xamarin表单中的导航栏高度?_Xamarin.ios_Xamarin.forms_Xamarin.android_Navigationbar - Fatal编程技术网

Xamarin.ios 获取xamarin表单中的导航栏高度?

Xamarin.ios 获取xamarin表单中的导航栏高度?,xamarin.ios,xamarin.forms,xamarin.android,navigationbar,Xamarin.ios,Xamarin.forms,Xamarin.android,Navigationbar,我正在进行一个需要获得导航栏高度的项目。我使用以下方法获得整个屏幕高度: Helpers.ApplicationContext.ScreenHeight = (int)Resources.DisplayMetrics.HeightPixels / Resources.DisplayMetrics.Density; Helpers.ApplicationContext.ScreenWidth = (int)Resources.DisplayMetrics.WidthPixels / Resourc

我正在进行一个需要获得导航栏高度的项目。我使用以下方法获得整个屏幕高度:

Helpers.ApplicationContext.ScreenHeight = (int)Resources.DisplayMetrics.HeightPixels / Resources.DisplayMetrics.Density;
Helpers.ApplicationContext.ScreenWidth = (int)Resources.DisplayMetrics.WidthPixels / Resources.DisplayMetrics.Density;
但我无法获得导航栏的高度

任何人都可以提出一个想法,让我的网页导航栏的高度


提前感谢。

对于iOS,这可能会帮助您:

var navbarHeight = YourViewControllerInstance.NavigationController?.NavigationBar.Frame.Height;
对于Android:

TypedArray styledAttributes = this.Theme.ObtainStyledAttributes(
new int[] { Android.Resource.Attribute.ActionBarSize });
var actionbarHeight = (int) styledAttributes.GetDimension(0, 0);
styledAttributes.recycle();
上面的例子以像素为单位给出了高度。请查找以下更精细的样本,提供像素高度和DP:

TypedValue tv = new TypedValue();
int actionBarHeightInPixel = 0;
int actionBarHeightInDP = 0;
DisplayMetrics metrics = Resources.DisplayMetrics;

if (Theme.ResolveAttribute(Resource.Attribute.actionBarSize, tv, true))
{
    actionBarHeightInPixel = TypedValue.ComplexToDimensionPixelSize(tv.Data, metrics);
    actionBarHeightInDP = actionBarHeightInPixel / (int)metrics.Density;
}

你好,米兰,我正在尝试你的代码在android和ios中获得导航条高度,在ios中它工作得很好,但在android中我获得了非常巨大的价值,这是错误的价值或我的其他价值。我在安卓上的成绩超过了200。迪帕克,我已经更新了我的答案。请尝试一下,如果它解决了你的问题,请告诉我。