1

我想将 ActionBar 的颜色更改为“材质设计”样式,但是 setbackgrounddrawable 方法将 ActionBar 的样式更改为“holo”。有谁知道“Android SDK L”是否有新方法?谢谢。

4

3 回答 3

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");
于 2015-04-13T06:48:30.807 回答
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);
    }
于 2014-10-20T18:12:43.293 回答
0

要更改 Material 主题中的操作栏颜色,您只需在主题中指定 android:colorPrimary。

<style name="MyTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
    ...
    <item name="android:colorPrimary">@color/my_branding_color</item>
</style>
于 2014-08-19T20:13:43.117 回答