在我的应用程序中,我有3 activities
,每个activity
都有相同的Toolbar
,其中包含自定义样式(背景颜色为蓝色)。
来自Activity-A
用户可以更改toolbar
的背景颜色(从蓝色变为红色)。它在Activity-A
的{{1}}上正常运行,但当我从toolbar
Activity-B
Activity-A
前往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));
所以我的问题是,如何在每个活动的工具栏上设置相同的颜色?请建议我。
谢谢
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为您应该再创建一项活动BaseActivity
(扩展Activity
)
您的所有活动(在本例中为3)将延伸BaseActivity
然后,您将编写代码以更改BaseActivity
中的工具栏颜色
最后,在每个子活动上,调用BaseActivity
答案 2 :(得分:0)
<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>