如何将不同的Action Bar颜色应用于不同的活动?

时间:2015-05-15 16:19:59

标签: android android-actionbar material-design android-appcompat android-actionbar-compat

我正在使用v7 appcompat 21库来试用Material Theme操作栏。我对styles.xml使用以下代码

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <style name="MyTheme" parent="Theme.AppCompat">
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">#3c9cd7</item>
    <item name="colorPrimaryDark">#127fba</item>
    <item name="colorAccent">#006db0</item>
  </style>
</resources>

我正在使用的布局是

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

在我的应用程序中有许多具有差异背景可绘制的屏幕我希望工具栏匹配这些颜色。我不想使用颜色标记。 这可以只使用xml文件吗? 我尝试更改android:background,它可以工作,但通知栏颜色不会随之改变。

这一切都在Xamarin工作室完成。

2 个答案:

答案 0 :(得分:0)

如果您只想使用XML来执行此操作,则需要为具有所需颜色的每个活动创建单独的工具栏。

答案 1 :(得分:0)

您可以使用getActionBar()getSupportActionBar()以编程方式为Actionbar提供自定义布局。然后,您可以根据活动分配不同布局的不同背景值。