7

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

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

但是我已经在使用FEATURE_PROGRESS并且 Android 禁止将自定义标题与其他标题功能(通过 AndroidRuntimeException 的方式)相结合,我不想放弃作为我活动不可或缺的一部分的漂亮进度条。

关于在没有 FEATURE_CUSTOM_TITLE 的情况下更改活动标题栏颜色的可能性的唯一提示是在另一个 SO 线程中:

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无法解决!

我在哪里可以找到那个android.R.id.titlebar

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

4

2 回答 2

2

简短的回答(现在,直到出现更好的答案):

于 2012-10-24T19:40:23.120 回答
0

嗯,如果在开头没有附加“android”,我会说不,它不是 FEATURE_CUSTOM_TITLE,因为它不是系统标题栏。里面有“机器人”,我真的不知道。

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

于 2012-06-29T16:04:39.593 回答