我想试试这个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);
下面是这段代码的屏幕截图: