到目前为止,我找到的所有更改活动标题栏颜色的解决方案(即通过activity.setTitle()和activity.setProgress()访问的标题栏)都需要使用FEATURE_CUSTOM_TITLE
:
https://dev59.com/n3E95IYBdhLWcg3wluwg#2285722
但我已经在使用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 吗?)