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。迪帕克,我已经更新了我的答案。请尝试一下,如果它解决了你的问题,请告诉我。