gpt4 book ai didi

android - 如何获得 ActionBar 的高度?

转载 作者:IT老高 更新时间:2023-10-28 12:54:08 36 4
gpt4 key购买 nike

我试图在每次创建 Activity 时获取 ActionBar 的高度(使用 Sherlock)(特别是在 ActionBar 高度可能发生变化的情况下处理旋转时的配置更改)。

为此,我使用 ActionBar.getHeight() 方法,该方法仅在显示 ActionBar 时有效。

当第一次创建 Activity 时,我可以在 onCreateOptionsMenu 回调中调用 getHeight()。但是这个方法之后不会被调用。

所以我的问题是我什么时候可以调用 getHeight() 并确保它不会返回 0?或者如果不可能,我该如何设置 ActionBar 的高度?

最佳答案

如果您想明确控制 ActionBar 的大小,@birdy 的答案是一个选项,但有一种方法可以在不锁定我在支持文档中找到的大小的情况下将其拉起。这有点尴尬,但它对我有用。你需要一个上下文,这个例子在 Activity 中是有效的。

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

Kotlin :

val tv = TypedValue()
if (requireActivity().theme.resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
val actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, resources.displayMetrics)
}

关于android - 如何获得 ActionBar 的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12301510/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com