我想将ActionBar的颜色更改为样式"材料设计",但方法setbackgrounddrawable将ActionBar的样式更改为" holo"。有没有人知道是否有一种新方法适用于" Android SDK L"?感谢。
答案 0 :(得分:1)
从代码中只需致电getActionBar().setBackgroundDrawable()
我测试了它,一切运作良好。尝试我的代码(更长但效果更好),我使用的是Appcompat,但它在所有API中都是一样的:
private void colorizeAB(){
Random random = new Random();
int color = Color.rgb(random.nextInt(256), random.nextInt(256), random.nextInt(256));
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color));
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
colorizeAB();
}
}, 1000);
}
答案 1 :(得分:1)
如果要在运行时更改颜色,则必须使用工具栏的对象,然后必须使用 toolbar.setTitleTextColor()方法,如下所示:
Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
toolbar.setTitleTextColor(Color.parseColor("#FF557F"));
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Title");
答案 2 :(得分:0)
要更改材料主题中的操作栏颜色,您只需在主题中指定android:colorPrimary即可。
<style name="MyTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
...
<item name="android:colorPrimary">@color/my_branding_color</item>
</style>