我想将我的Toolbar
标题颜色更改为蓝色。它保持白色。我可以设置后退按钮,但不能设置标题颜色-我错过了什么吗?
我尝试在3个不同的地方进行更改:
活动
Toolbar toolbar = (Toolbar) findViewById(R.id.detail_toolbar);
toolbar.setTitleTextColor(0xff00ff99);
setSupportActionBar(toolbar);
activity.xml
<android.support.v7.widget.Toolbar
android:id="@+id/detail_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:theme="@style/ToolBarStyle"
android:background="@color/colorPrimaryDark"
android:titleTextColor="@android:color/holo_red_dark"
app:subtitleTextColor="@color/colorPrimaryDark"
app:layout_collapseMode="pin"
app:popupTheme="@style/ToolBarStyle" />
v21 styles.xml
<!-- ToolBar -->
<style name="ToolBarStyle" parent="Theme.AppCompat">
<item name="titleTextColor">@color/colorPrimaryDark</item>
<item name="android:titleTextColor">@color/colorPrimaryDark</item>
<item name="android:textColorPrimary">@color/colorPrimaryDark</item>
<item name="android:textColorSecondary">@color/colorPrimaryDark</item>
<item name="actionMenuTextColor">@color/colorPrimaryDark</item>
<item name="android:textColor">@color/colorPrimaryDark</item>
</style>
styles.xml
<style name="ToolBarStyle" parent="Theme.AppCompat">
<item name="titleTextColor">@color/colorPrimaryDark</item>
<item name="android:titleTextColor">@color/colorPrimaryDark</item>
<item name="android:textColorPrimary">@color/colorPrimaryDark</item>
<item name="android:textColorSecondary">@color/colorPrimaryDark</item>
<item name="actionMenuTextColor">@color/colorPrimaryDark</item>
<item name="android:textColor">@color/colorPrimaryDark</item>
</style>
我想念什么? 无论如何,它保持白色。我什至在整个项目中都遍历了对#ffffff的150个引用,并且那里没有引用任何工具栏。
targetSdk 26,在Android 7.1.1上运行
答案 0 :(得分:1)
尝试更改此内容:
android:titleTextColor =“ @ android:color / holo_red_dark”
收件人:
app:titleTextColor =“ @ android:color / holo_red_dark”
在您的 activity.xml android.support.v7.widget.Toolbar
部分。
答案 1 :(得分:1)
像这样创建自定义Toolbar
:
toolbar_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="false"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="@android:color/backgroundColor"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/Base.Theme.AppCompat.Light.DarkActionBar">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/blue"/>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
将其包括在您的布局中
<include layout="@layout/toolbar_layout"/>
在活动的onCreate方法中使用它:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_card);
Toolbar toolbar = findViewById(R.id.toolbar);
TextView toolbarTitle = findViewById(R.id.toolbar_title);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null)
getSupportActionBar().setDisplayShowTitleEnabled(false);
toolbarTitle.setText("Your title");
...
}
希望这会有所帮助。
答案 2 :(得分:0)
好的,所以我通过逐字地跟踪我的代码找到了答案。
我有一个PagerAdapter返回不同的片段。我以为每个Activity
都对Tabbar
负责(这是每个选项卡的主/详细模式),因为我必须设置诸如setSupportActionBar()
这样的内容随后的Activities
。
通过堆栈跟踪我的代码,我意识到可以通过视图ID找到一个CollapsingToolbarLayout
。这是我设置栏标题的地方。从那里开始,我没有找到任何标题属性,但是我让自动完成功能将我引向setCollapsedTitleTextColor
和setExpandedTitleColor
。
因此,尽管getColor()
部分已弃用,但它是
bar.setCollapsedTitleTextColor(getResources().getColor(R.color.colorPrimaryDark));
bar.setExpandedTitleColor(getResources().getColor(R.color.colorPrimaryDark));
仍然不知道为什么我设置的所有其他地方都没有成功,但很高兴它现在可以正常工作。
答案 3 :(得分:0)
在布局文件中,将工具栏用作AppBarLayout的子布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
</LinearLayout>
Style.xml
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
MainActivity内部
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}