我正在使用 Showcase
库来解释我的应用程序功能
用户。在某些时候,我需要调暗整个 ActionBar
来呈现
用户的另一个功能。
为此,我正在使用 View
类的 setAlpha(float num)
。因此,为此我需要获取 ActionBar
顺便说一下,我正在使用 support-7-appcompat
库,它为旧系统提供 ActionBar 支持。
更新
与此同时,我发现了这个选项,如果您配置自定义 View 并将其添加到您 ActionBar
使用:
getSupportActionBar().setCustomView(v);
然后要获得 ActionBar
的 View
你可以这样做:
(View) activity.getSupportActionBar().getCustomView().getParent().getParent()
有没有更简单或更容易的方法来做到这一点?
最佳答案
是的。您实际上可以使用此函数获取 View :
public View getActionBarView() {
Window window = getWindow();
View v = window.getDecorView();
int resId = getResources().getIdentifier("action_bar_container", "id", "android");
return v.findViewById(resId);
}
这种工作方式几乎是 actionbar 容器使用 id android.R.id.action_bar_container
,但这个 id 不是公开的。因此,我们使用 getIdentifier() 来检索这个 id,然后剩下的就很简单了。
关于android - 如何获取 ActionBar View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023483/