CollapsingToolbarLayout - 设置 expandedTitleTextAppearance 和 collapsedTitleTextAppearance 可能会导致问题
CollapsingToolbarLayout - setting expandedTitleTextAppearance and collapsedTitleTextAppearance can cause issues
在设计支持库 (V 22.2.0) 中,我在设置 CollapsingToolbarLayout 的 expandedTitleTextAppearance 和 collapsedTitleTextAppearance 属性时遇到问题.
比如我这样设置:
<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"
它不再崩溃,但当它崩溃时文本不显示。
看起来用于设置 expandedTitleTextAppearance 和 collapsedTitleTextAppearance 的样式 必须 从 文本外观。
因此,如果将样式更改为这样,一切都会正常工作:
<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
在设计支持库 (V 22.2.0) 中,我在设置 CollapsingToolbarLayout 的 expandedTitleTextAppearance 和 collapsedTitleTextAppearance 属性时遇到问题.
比如我这样设置:
<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"
它不再崩溃,但当它崩溃时文本不显示。
看起来用于设置 expandedTitleTextAppearance 和 collapsedTitleTextAppearance 的样式 必须 从 文本外观。
因此,如果将样式更改为这样,一切都会正常工作:
<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