2017-05-09 62 views
2

我在我的应用程序布局如下:工具栏标题字体颜色

<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);没有帮助。

回答

0

,我认为你应该使用setCollapsedTitleTextColor()

collapsingToolbar.setCollapsedTitleTextColor(0xffffff); 

顺便说一句,你header_image可能是考虑屏幕的整个宽度和隐藏,因为它有标题(或许应该是wrap_content):

android:layout_width="match_parent" 
+0

当我这样做,标题没有显示。 – Alexey

+0

你在使用什么操作系统?你的compileSdkVersion是什么? –

+0

我使用Android 4.4.4在Genymotion模拟器上进行了测试,使用Android 5.1进行了真实设备测试 - 结果都是一样的。 minSdkVersion = 16,targetSdkVersion = 24。 – Alexey

2

试试这个

创建样式

<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); 
+0

它的工作原理,谢谢! – Alexey

+0

是否可能通过应用程序主题setExpandedTitleTextAppearance和setCollapsedTitleTextAppearance,而不是编程? – Alexey