Android x 无法更改折叠工具栏字体系列
Android x collapsing toolbar font family cannot be change
我正在尝试更改可折叠工具栏字体。我的代码如下
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/id_collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@color/colorPrimary"
app:layout_scrollFlags="scroll|snap|enterAlways"
app:title="App Title">
<ImageView
android:layout_width="match_parent"
android:layout_height="250dp"
android:scaleType="centerCrop"
android:src="@drawable/img" />
<androidx.appcompat.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/TextViewCustomFont"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<style name="TextViewCustomFont">
<item name="android:fontFamily">fonts/Montserrat-SemiBold.ttf</item>
</style>
我也在用书法3,
所以,我尝试了 fontPath 而不是 android:fontFamily
然后,我将 android:theme="@style/TextViewCustomFont" 从 Toolbar 移动并选中 CollapsingToolbarLayout 以及所有这些组合。
我无法更改字体样式。
记住这是 androidx,不是旧版本。 Whosebug 中有很多老问题,但 none 中的老问题仍然有效。
在CollapsingToolbar
你需要调用expandedTitleTextAppearance
,collapsedTitleTextAppearance
XML
<com.google.android.material.appbar.CollapsingToolbarLayout
app:expandedTitleTextAppearance="@style/TextViewCustomFont"
app:collapsedTitleTextAppearance="@style/TextViewCustomFont"/>
Java
// Java example
CollapsingToolbarLayout collapsingToolbar = findViewById(R.id.collapsing_toolbar);
collapsingToolbar.setCollapsedTitleTypeface(TyperRoboto.ROBOTO_REGULAR());
collapsingToolbar.setExpandedTitleTypeface(TyperRoboto.ROBOTO_REGULAR());
Kotlin
// Kotlin example
collapsing_toolbar.apply {
setCollapsedTitleTypeface(TyperRoboto.ROBOTO_REGULAR)
setExpandedTitleTypeface(TyperRoboto.ROBOTO_REGULAR)
}
您可以获得更详细的答案
在CollapsingToolbarLayout
布局中有一个这样的id
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/id_collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@color/colorPrimary"
app:layout_scrollFlags="scroll|snap|exitUntilCollapsed"
app:title="App Title">
然后,在 onCreate
方法中添加以下行
CollapsingToolbarLayout collapsingToolbar = findViewById(R.id.id_collapsing_toolbar);
final Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Montserrat-SemiBold.ttf");
collapsingToolbar.setCollapsedTitleTypeface(tf);
collapsingToolbar.setExpandedTitleTypeface(tf);
我正在尝试更改可折叠工具栏字体。我的代码如下
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/id_collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@color/colorPrimary"
app:layout_scrollFlags="scroll|snap|enterAlways"
app:title="App Title">
<ImageView
android:layout_width="match_parent"
android:layout_height="250dp"
android:scaleType="centerCrop"
android:src="@drawable/img" />
<androidx.appcompat.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/TextViewCustomFont"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<style name="TextViewCustomFont">
<item name="android:fontFamily">fonts/Montserrat-SemiBold.ttf</item>
</style>
我也在用书法3, 所以,我尝试了 fontPath 而不是 android:fontFamily 然后,我将 android:theme="@style/TextViewCustomFont" 从 Toolbar 移动并选中 CollapsingToolbarLayout 以及所有这些组合。
我无法更改字体样式。
记住这是 androidx,不是旧版本。 Whosebug 中有很多老问题,但 none 中的老问题仍然有效。
在CollapsingToolbar
你需要调用expandedTitleTextAppearance
,collapsedTitleTextAppearance
XML
<com.google.android.material.appbar.CollapsingToolbarLayout
app:expandedTitleTextAppearance="@style/TextViewCustomFont"
app:collapsedTitleTextAppearance="@style/TextViewCustomFont"/>
Java
// Java example
CollapsingToolbarLayout collapsingToolbar = findViewById(R.id.collapsing_toolbar);
collapsingToolbar.setCollapsedTitleTypeface(TyperRoboto.ROBOTO_REGULAR());
collapsingToolbar.setExpandedTitleTypeface(TyperRoboto.ROBOTO_REGULAR());
Kotlin
// Kotlin example
collapsing_toolbar.apply {
setCollapsedTitleTypeface(TyperRoboto.ROBOTO_REGULAR)
setExpandedTitleTypeface(TyperRoboto.ROBOTO_REGULAR)
}
您可以获得更详细的答案
在CollapsingToolbarLayout
布局中有一个这样的id
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/id_collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@color/colorPrimary"
app:layout_scrollFlags="scroll|snap|exitUntilCollapsed"
app:title="App Title">
然后,在 onCreate
方法中添加以下行
CollapsingToolbarLayout collapsingToolbar = findViewById(R.id.id_collapsing_toolbar);
final Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Montserrat-SemiBold.ttf");
collapsingToolbar.setCollapsedTitleTypeface(tf);
collapsingToolbar.setExpandedTitleTypeface(tf);