2017-05-09 90 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