请问有人能解释一下,为什么我创建了另一个样式,却不能改变工具栏的颜色:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">false</item>
</style>
我在我的清单文件中加入了它,如下所示:
<activity
android:name=".SettingsActivity"
android:label="@string/title_activity_settings"
android:parentActivityName=".MainActivity">
<meta-data
android:theme="@style/AppTheme.NoActionBar"
android:name="android.support.PARENT_ACTIVITY"
android:value="com.com.com.com.MainActivity" />
</activity>
尝试更改工具栏,例如:
Toolbar toolbar = new Toolbar(this);
toolbar.setBackgroundColor(getResources().getColor(R.color.light_blue));
setSupportActionBar(toolbar);
但仍然出现以下问题:
该活动已经由窗口装饰提供了操作栏。请勿请求Window.FEATURE_ACTION_BAR并在主题中将windowActionBar设置为false,以使用工具栏。
我甚至尝试过getSupportActionBar().hide();
但仍然不起作用。
XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.com.com.com.SettingsActivity"
android:id="@+id/settings_activity">
</RelativeLayout>
基本上,我想保留我的全局主题,只是更改一个活动中的工具栏颜色。这就是为什么我不在xml文件中创建工具栏,而是通过编程创建它,添加背景颜色并设置它的原因。
<meta-data>
中,而是应该放在开头的<activity>
标签中。 - Mike M.Toolbar
,rootElement.add(toolbar)
。然后将其设置为setSupportActionBar
。 - Kasim Rangwala