📅  最后修改于: 2023-12-03 15:42:29.009000             🧑  作者: Mango
如果你需要获取应用栏或操作栏的大小,以下是一些方法:
getSupportActionBar()
方法获取 support 库中的 ActionBar,然后通过 getMeasuredHeight()
方法获取高度。// 获取 ActionBar 对象
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
// 获取 ActionBar 高度
int actionBarHeight = actionBar.getHeight();
// Do something with the height
}
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
</style>
// 获取 ActionBar 高度
TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
// Do something with the height
}
// 获取应用栏高度
int statusBarHeight = getStatusBarHeight();
int actionBarHeight = getActionBarHeight();
private int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}
private int getActionBarHeight() {
int result = 0;
TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
result = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
return result;
}
以上是获取应用栏和操作栏的大小的几种方法。根据你的需要选择适合你的方法,并将其应用到你的代码中。
注意: 应用栏和操作栏并不完全一样。操作栏是指应用栏下方的工具栏,有时也称为工具栏或选项菜单栏。在 Android 5.0 及更高版本中,应用栏和操作栏已经被归为一体,并统一称为应用栏。