【问题标题】: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:expandedTitleTextAppearanceapp: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>
    

    【讨论】:

      【解决方案2】:

      这是我的解决方案,我只需要将标题和选项菜单图标设为白色:

      <com.google.android.material.appbar.CollapsingToolbarLayout
      
          ...
      
          android:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar">
      

      要自定义标题和选项菜单图标的颜色,请阅读:How to change the Text color of collapsing toolbar and the back button color of collapsing toolbar in android

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-04
        • 2018-05-09
        • 1970-01-01
        • 2015-09-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多