有沒有方法可以設置CollapsingToolbarLayout
的字體? 我正在使用書法,但我的默認字體未應用。CollapsingToolbarLayout的字體
我認爲問題是CollapsingTextHelper
類正在使用Canvas.drawText()
而不是TextView
。
如何更改用於Canvas.drawText()
的默認字體?
有沒有方法可以設置CollapsingToolbarLayout
的字體? 我正在使用書法,但我的默認字體未應用。CollapsingToolbarLayout的字體
我認爲問題是CollapsingTextHelper
類正在使用Canvas.drawText()
而不是TextView
。
如何更改用於Canvas.drawText()
的默認字體?
可以更改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>
由於最新的API更新之一,支持設計包已更新現在可以設置摺疊標題文本的字體。
使用setCollapsedTitleTypeFace(Typeface typeface)
和setExpandedTitleTypeFace(Typeface typeface)
設置您的自定義字體。
有沒有人得到這個工作?似乎它沒有做任何事情。 –
爲我工作,謝謝!你需要使用callygraphy的'TypefaceUtils.load()'來爲這個字體加載... – dimsuz
這是可能的。實際上,默認情況下,標題在摺疊時的字體與不是時不同。
因此,爲了改變這一點,例如,你可以做這樣的:
風格文件
<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」)。
你將不得不使用反射。 [我描述瞭如何使用'TextInputLayout'](http://stackoverflow.com/a/30767869/420015)來完成,但步驟應該與'CollapsingToolbarLayout'相同。 – adneal
工作。謝謝 – lukas1994
@ lukas1994你能給你來源嗎? –