java无法更改工具栏的颜色
任何人都可以解释一下,为什么我的工具栏没有改变颜色,即使我创建了另一种样式,如:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">false</item>
</style>
将其添加到我的清单文件中,如:
<activity
安卓:name=".SettingsActivity"
安卓:label="@string/title_activity_settings"
安卓:parentActivityName=".MainActivity">
<meta-data
安卓:theme="@style/AppTheme.NoActionBar"
安卓:name="安卓.support.PARENT_ACTIVITY"
安卓:value="com.com.com.com.MainActivity" />
</activity>
并尝试更改工具栏,如:
Toolbar toolbar = new Toolbar(this);
toolbar.setBackgroundColor(getResources().getColor(R.color.light_blue));
setSupportActionBar(toolbar);
但仍然得到
This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
我甚至试过getSupportActionBar().hide();
,但仍然不起作用
XML:
<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
xmlns:tools="http://schemas.安卓.com/tools" 安卓:layout_width="match_parent"
安卓:layout_height="match_parent" 安卓:paddingLeft="@dimen/activity_horizontal_margin"
安卓:paddingRight="@dimen/activity_horizontal_margin"
安卓:paddingTop="@dimen/activity_vertical_margin"
安卓:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.com.com.com.SettingsActivity"
安卓:id="@+id/settings_activity">
</RelativeLayout>
基本上,我想要的是保留我的全局主题,只需在其中一个活动中更改工具栏的颜色。这就是为什么我不在xml文件中创建工具栏,而是以编程方式创建它,添加背景色并希望设置它
# 1 楼答案
我认为你的工具栏弄错了。您可能没有扩展
Toolbar
类。 尝试通过xml文件中定义的id直接获取它然后您可以将其设置为支持,并最终设置颜色
编辑: 没有看到您正在以编程方式创建它。 尝试设置一个简单的AppTheme样式,如
# 2 楼答案
希望下面的代码能帮助你
在样式中创建主题。xml格式如下:
确保你的gradle dependencies中有这个
在布局xml文件中添加此工具栏标记
在清单文件中,将创建的主题添加到acctivity
最后,这里是您的活动
# 3 楼答案
您需要在
meta-data
标记外去掉android:theme="@style/AppTheme.NoActionBar"
:在java代码中:
# 4 楼答案
这可能对你有帮助
这里的
styles.xml
包含自定义主题AndroidManifest.xml
包含SettingActivity
的自定义主题Layout
文件最后是您的活动文件