【问题标题】:Android "app:titleTextColor" Doesn't Work in MaterialToolbar within CollapsingToolbarLayoutAndroid“app:titleTextColor”在 CollapsingToolbarLayout 中的 MaterialToolbar 中不起作用
【发布时间】:2021-08-26 20:06:36
【问题描述】:
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="@color/purple_500"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/sam" />
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
app:title="Sam Chen"
app:titleTextColor="@color/white"/> //<- here, doesn't work
</com.google.android.material.appbar.CollapsingToolbarLayout>
结果:
然后崩溃了:
【问题讨论】:
标签:
android
material-design
android-toolbar
android-collapsingtoolbarlayout
android-appbarlayout
【解决方案1】:
要在折叠和展开模式下更改 CollapsingToolbarLayout 的标题文本颜色,您可以使用属性 app:expandedTitleTextAppearance 和 app:collapsedTitleTextAppearance,如下所示:
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="@color/purple_500"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleTextAppearance="@style/MyExpandedTitle"
app:collapsedTitleTextAppearance="@style/MyCollapsedTitle">
@style/MyExpandedTitle 是您的自定义扩展标题文本外观,如下所示:
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
<item name="android:textColor">@android:color/holo_red_dark</item>
</style>
而@style/MyCollapsedTitle 是您自定义的collapsedTitleTextAppearance,如下所示:
<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
<item name="android:textColor">@android:color/holo_red_dark</item>
</style>