无法更改折叠工具栏的字体样式
Can't change font style for collapsing toolbar
我的布局中包含折叠工具栏,其中包含 ImageView 和工具栏
并想更改标题的默认字体。我制作了以下样式并将其应用于折叠工具栏和工具栏
<style name="ToolbarTheme" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:fontFamily">sans-serif-black</item>
</style>
AppBar 的布局
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:layout_height="200dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="@color/fuel_yellow"
android:theme="@style/ToolbarTheme"
app:popupTheme="@style/ToolbarTheme"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
android:src="@drawable/noclegi"/>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
android:fitsSystemWindows="true"
app:layout_collapseMode="pin"/>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
除了标题和导航图标的颜色外,没有任何变化。问题出在哪里?
要更改 CollapsingToolbarLayout 的字体样式,您可以使用属性 app:expandedTitleTextAppearance 和 app:collapsedTitleTextAppearance 并使用您的自定义字体样式.
折叠工具栏将如下所示:
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:expandedTitleTextAppearance="@style/MyExpandedTitle"
app:collapsedTitleTextAppearance="@style/MyCollapsedTitle">
其中 @style/MyExpandedTitle 和 @style/MyCollapsedTitle 将是您的自定义 TextAppearance 样式,如下所示:
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
<item name="android:fontFamily">sans-serif-black</item>
</style>
<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
<item name="android:fontFamily">sans-serif-black</item>
</style>
或者,如果您想使用自定义字体,将如下所示:
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
<item name="fontFamily">@font/roboto_regular</item>
<item name="android:fontFamily">@font/roboto_regular</item>
</style>
<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
<item name="fontFamily">@font/roboto_regular</item>
<item name="android:fontFamily">@font/roboto_regular</item>
</style>
我的布局中包含折叠工具栏,其中包含 ImageView 和工具栏 并想更改标题的默认字体。我制作了以下样式并将其应用于折叠工具栏和工具栏
<style name="ToolbarTheme" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:fontFamily">sans-serif-black</item>
</style>
AppBar 的布局
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:layout_height="200dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="@color/fuel_yellow"
android:theme="@style/ToolbarTheme"
app:popupTheme="@style/ToolbarTheme"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
android:src="@drawable/noclegi"/>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
android:fitsSystemWindows="true"
app:layout_collapseMode="pin"/>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
除了标题和导航图标的颜色外,没有任何变化。问题出在哪里?
要更改 CollapsingToolbarLayout 的字体样式,您可以使用属性 app:expandedTitleTextAppearance 和 app:collapsedTitleTextAppearance 并使用您的自定义字体样式.
折叠工具栏将如下所示:
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:expandedTitleTextAppearance="@style/MyExpandedTitle"
app:collapsedTitleTextAppearance="@style/MyCollapsedTitle">
其中 @style/MyExpandedTitle 和 @style/MyCollapsedTitle 将是您的自定义 TextAppearance 样式,如下所示:
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
<item name="android:fontFamily">sans-serif-black</item>
</style>
<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
<item name="android:fontFamily">sans-serif-black</item>
</style>
或者,如果您想使用自定义字体,将如下所示:
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
<item name="fontFamily">@font/roboto_regular</item>
<item name="android:fontFamily">@font/roboto_regular</item>
</style>
<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
<item name="fontFamily">@font/roboto_regular</item>
<item name="android:fontFamily">@font/roboto_regular</item>
</style>