【问题标题】:Same toolbar color on all Activities所有活动的工具栏颜色相同
【发布时间】:2016-03-23 14:37:54
【问题描述】:

在我的应用程序中,我有 3 个activities,每个activity 具有相同的Toolbar,并包含自定义样式(背景颜色为蓝色)。

Activity-A 用户可以更改toolbar 的背景颜色(从蓝色变为红色)。它在Activity-Atoolbar 上正常工作,但是当我从Activity-A 转到Activity-B 时,toolbar 的颜色是前一个(背景颜色是蓝色而不是红色)。

我的toolbar 是:

<android.support.v7.widget.Toolbar 
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:local="http://schemas.android.com/apk/res-auto"
      android:id="@+id/toolbar"
      android:theme="@style/myToolbarTheme"
      android:layout_width="match_parent"
      android:layout_height="48dp"
      android:padding="0dp">
 </android.support.v7.widget.Toolbar>

自定义样式是:

 <style name="myToolbarTheme">
    <item name="android:background">@color/themeBlue</item>
</style>

要更改正在使用的工具栏的背景颜色,

     toolbar.setBackgroundColor(getResources().getColor(R.color.themeRed)); 

所以我的问题是,如何为每个活动的工具栏设置相同的颜色?请给我建议。

谢谢

【问题讨论】:

  • 定义通用工具栏颜色的样式
  • 你能解释一下吗?

标签: android background-color


【解决方案1】:

您可以在自己的风格中使用原色

<item name="android:colorPrimary">@color/primary</item>

更多参考here

【讨论】:

  • 它是否反映了所有Activities的变化?
  • @User_1191 是的,如果您在清单的 标签中使用它作为默认主题
  • 但是我如何以编程方式更改工具栏背景颜色?
【解决方案2】:

我认为你应该再创建一个活动是BaseActivity(扩展Activity
您的所有活动(在本例中为 3)将扩展 BaseActivity
然后您将在BaseActivity
中编写更改工具栏颜色的代码 最后,在每个子活动上,调用BaseActivity中更改工具栏颜色的代码

【讨论】:

    【解决方案3】:
     <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="colorPrimary">@color/ColorPrimary</item>
            <item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
            <item name="colorAccent">#FF4081</item>
            <item name="android:windowBackground">@color/window_background</item>
            <item name="android:windowActionBar">false</item>
            <item name="android:windowNoTitle">true</item>
    
        </style>
    

    应用到工具栏

     <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar_questions_map"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/Theme.DesignDemo"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:background="@color/ColorPrimary">
        </android.support.v7.widget.Toolbar>
    

    【讨论】:

      猜你喜欢
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多