📜  快速获取导航栏高度(1)

📅  最后修改于: 2023-12-03 14:54:19.675000             🧑  作者: Mango

快速获取导航栏高度

导航栏是我们常用的 UI 组件之一,获取导航栏高度是我们开发中常遇到的问题。在 iOS 和 Android 平台上,获取导航栏高度的方法有所不同。本文将为各位程序员介绍如何快速获取导航栏高度。

iOS 平台

在 iOS 平台上,我们可以通过以下代码获取导航栏高度:

CGFloat navHeight = self.navigationController.navigationBar.frame.size.height;

这里 self.navigationController 是指当前视图所在的导航控制器。

Android 平台

在 Android 平台上,我们可以通过以下代码获取导航栏高度:

TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
{
    int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}

这里我们使用 TypedValue 获取了 android.R.attr.actionBarSize 的值,并通过 TypedValue.complexToDimensionPixelSize 将其转化为像素值。

总结

通过上述代码片段,我们可以快速获取导航栏高度。在 iOS 平台上,我们可以通过 self.navigationController.navigationBar.frame.size.height 获取。在 Android 平台上,我们可以通过使用 TypedValue 获取 android.R.attr.actionBarSize 的值,并将其转化为像素值。