是否可以在没有FEATURE_CUSTOM_TITLE的情况下更改活动标题栏的颜色?

时间:2012-06-29 14:39:37

标签: android android-titlebar

到目前为止,我发现的用于更改活动的标题栏(即通过activity.setTitle()activity.setProgress()访问的那个)的颜色的所有解决方案都要求{{1 }}:

https://stackoverflow.com/a/2285722/869501

但我已经在使用FEATURE_CUSTOM_TITLE和Android禁止将自定义标题与其他标题功能(通过AndroidRuntimeException)相结合,我不想放弃那个很好的进度条,这是我活动中不可或缺的一部分。

关于在没有FEATURE_CUSTOM_TITLE的情况下更改活动标题栏颜色的可能性的唯一提示是another SO thread

FEATURE_PROGRESS

但是,如果我尝试按原样使用代码,则无法解析View titleView = getWindow().findViewById(android.R.id.titlebar); if (titleView != null) { ViewParent parent = titleView.getParent(); if (parent != null && (parent instanceof View)) { View parentView = (View)parent; parentView.setBackgroundColor(Color.RED); } }

我在哪里找到android.R.id.titlebar

我必须自己定义吗? (如果答案是肯定的,这本质上不是FEATURE_CUSTOM_TITLE吗?)

2 个答案:

答案 0 :(得分:2)

简短回答(目前为止,直到找到更好的答案):

答案 1 :(得分:0)

嗯,如果没有" android"坚持到那个开头,我会说不,它不是FEATURE_CUSTOM_TITLE,因为它不是系统标题栏。使用" android"在那里,我真的不知道。

它看起来有点像我以前做过的事情,它在清单中以android:theme="@android:style/Theme.NoTitleBar"运行,然后在每个布局的顶部创建一个类似于视图的标题栏。