【发布时间】:2015-05-29 10:00:06
【问题描述】:
在 styles.xml 中,我正在设置工具栏中溢出菜单的弹出主题样式:
<style name="ToolbarOverflowMenuStyle" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:backgroundTint">@color/white</item>
</style>
按预期工作,但如果我在回收站视图(列表)中进行多项选择,弹出主题背景颜色会从白色变为黄色(工具栏的颜色)。我不知道为什么会这样,因为如果多选未激活,它具有正确的颜色。
任何想法我做错了什么?
工具栏的样式:
<style name="PostToolbarStyle" parent="android:Theme.Material">
<item name="android:backgroundTint">@color/yellow</item>
<item name="android:textColorHint">@color/lightGray2</item>
<item name="android:textColorPrimary">@color/defaultTextColor</item>
<item name="android:textColorSecondary">@color/defaultTextColor</item>
</style>
这就是我在布局 xml 文件中设置工具栏的方式:
<android.support.v7.widget.Toolbar
android:id="@+id/app_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:minHeight="?attr/actionBarSize"
android:paddingTop="@dimen/tool_bar_top_padding"
app:popupTheme="@style/ToolbarOverflowMenuStyle"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>
当多选未激活时,弹出主题的外观(正确):
当多选处于活动状态时,这里是如何(错误地)显示的:
【问题讨论】:
-
可能偏离主题:不要在 主题 中使用
background或backgroundTint,因为它们将应用于小部件的每个子项(每个项目而不是总背景)。定义popupBackground或colorBackground。 -
感谢您的提示。我已将这些更改应用到应用程序。
标签: android android-layout android-appcompat android-toolbar