工具栏标题文字颜色

时间:2017-05-09 15:31:44

标签: android android-toolbar android-theme

我的应用程序中有以下布局:

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    app:expanded="false">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:id="@+id/header_image"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:contentDescription="@string/app_name"
            android:fitsSystemWindows="true"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin">

        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

此外,申请主题如下

<style name="Theme.MyApp" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:windowIsTranslucent">true</item>
</style>

颜色在哪里:

<color name="primary">#5677fc</color>
<color name="primary_dark">#303f9f</color>
<color name="accent">#e040fb</color>

设置标题我使用

CollapsingToolbarLayout collapsingToolbar;
...
collapsingToolbar.setTitle(title);
标题显示黑色,我白了什么。我该怎么办?

app:titleTextColor="@android:color/white"设置为Toolbartoolbar.setTitleTextColor(0xffffff);都无济于事。

2 个答案:

答案 0 :(得分:4)

试试这个

创建样式

<style name="collapsingToolbarLayoutTitleColor" parent="@android:style/TextAppearance.Medium">
    <item name="android:textSize">18sp</item>
    <item name="android:textColor">@color/white</item>
</style>

然后,在折叠和展开时,在CollapsingToolbarLayout上添加样式。

mCollapsingToolbarLayout.setExpandedTitleTextAppearance(R.style.collapsingToolbarLayoutTitleColor);
mCollapsingToolbarLayout.setCollapsedTitleTextAppearance(R.style.collapsingToolbarLayoutTitleColor);

答案 1 :(得分:0)

我认为你应该使用setCollapsedTitleTextColor()

collapsingToolbar.setCollapsedTitleTextColor(0xffffff);

顺便说一下,你的header_image可能占据屏幕的整个宽度并隐藏标题(也许它应该是wrap_content):

android:layout_width="match_parent"