CollapsingToolbarLayout - 设置 expandedTitleTextAppearance 和 collapsedTitleTextAppearance 可能会导致问题

CollapsingToolbarLayout - setting expandedTitleTextAppearance and collapsedTitleTextAppearance can cause issues

在设计支持库 (V 22.2.0) 中,我在设置 CollapsingToolbarLayout 的 expandedTitleTextAppearancecollapsedTitleTextAppearance 属性时遇到问题.

比如我这样设置:

<android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:expandedTitleTextAppearance="@style/TransparentText"
        >

样式如下所示:

<style name="TransparentText">
    <item name="android:textColor">#00000000</item>
</style>
<style name="GreyText">
    <item name="android:textColor">#666666</item>
</style>

文本未显示,但当我在工具栏折叠后尝试展开时,应用程序将在 Android 4.1 上崩溃。

如果我将其设置为:

app:expandedTitleTextAppearance="@style/TransparentText"
app:collapsedTitleTextAppearance="@style/GreyText"

它不再崩溃,但当它崩溃时文本不显示。

看起来用于设置 expandedTitleTextAppearancecollapsedTitleTextAppearance 的样式 必须 文本外观

因此,如果将样式更改为这样,一切都会正常工作:

<style name="TransparentText" parent="@android:style/TextAppearance">
  <item name="android:textColor">#00000000</item>
</style>
<style name="GreyText" parent="@android:style/TextAppearance">
  <item name="android:textColor">#666666</item>
</style>

顺便说一下,由于当您设置 android:TextAppearance 时 TextView 可以正常工作而没有显式扩展 @android:style/TextAppearance,我将其记录为错误:https://code.google.com/p/android/issues/detail?id=178674