我想试试这个funny title bar coloring,但它不适合我

getWindow().findViewById(android.R.id.title);

返回空值。所以我用Hierarchy viewer查看了一下,发现这个视图被称为id/action_bar。但是没有R.id.action_bar(autocomplete没有提供它,也没有类似的R.java)。
所以现在我倍感困惑:
android.R.id.title现在有点过时了吗(我在模拟器中使用的是版本16)?
id/action_bar从何而来?
推荐的简单实践w.r.t.兼容性是什么?
我应该叫ActionBarSherlock吗?我本来只想改变标题栏的颜色…不是经常胡闹。

最佳答案

如果你在寻找与API级别14/Android4.0之前的Android版本的兼容性,我建议你使用ActionBarSherlock。
更改actionbar的背景很简单,而且最容易通过样式完成。参见http://android-developers.blogspot.com/2011/04/customizing-action-bar.html的“背景”部分
您也可以通过代码更改它。把这个放进你的onCreate()

GradientDrawable gradientDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] {Color.RED, Color.GREEN});
getActionBar().setBackgroundDrawable(gradientDrawable);

下面是这段代码的屏幕截图:

10-04 20:02