2015-06-25 42 views
14

有沒有方法可以設置CollapsingToolbarLayout的字體? 我正在使用書法,但我的默認字體未應用。CollapsingToolbarLayout的字體

我認爲問題是CollapsingTextHelper類正在使用Canvas.drawText()而不是TextView

如何更改用於Canvas.drawText()的默認字體?

+2

你將不得不使用反射。 [我描述瞭如何使用'TextInputLayout'](http://stackoverflow.com/a/30767869/420015)來完成,但步驟應該與'CollapsingToolbarLayout'相同。 – adneal

+1

工作。謝謝 – lukas1994

+0

@ lukas1994你能給你來源嗎? –

回答

1

可以更改CollapsingToolbarLayout的標題的文本外觀如下:

1)確保您使用的是您的build.gradle依賴compile 'com.android.support:design:22.2.1'

2)使用expandedTitleTextAppearance這樣的:

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

3)定義在你的風格HeaderTitleStyle文件:

<style name="HeaderTitleStyle" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">#FFFFFF</item> 
    <item name="android:textSize">20sp</item> 
</style> 
+5

這是如何回答原始問題,關於設置自定義字體? – gnuf

+0

這不會幫助設置自定義字體 – sziraqui

0

這是可能的。實際上,默認情況下,標題在摺疊時的字體與不是時不同。

因此,爲了改變這一點,例如,你可以做這樣的:

風格文件

<style name="TextAppearance.Collapsed" 
    parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:fontFamily">sans-serif</item> 
</style> 

佈局文件

<android.support.design.widget.CollapsingToolbarLayout 
    app:collapsedTitleTextAppearance="@style/TextAppearance.Collapsed"> 
    ... 
</android.support.design.widget.CollapsingToolbarLayout> 

類似可以件事按照未摺疊的樣式完成(「expandedTitleTextAppearance」)。