< API 21 中的溢出图标颜色
Overflow icon color in < API 21
在我的应用程序中,我有这样构造的工具栏:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/LzTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/LzTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
并以这种方式设置样式:
<style name="LzTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/LZ_green</item>
<item name="colorPrimaryDark">@color/LZ_green_dark</item>
<item name="colorAccent">@color/LZ_yellow</item>
<item name="android:windowBackground">@color/LZ_white</item>
<item name="android:textColorPrimary">@color/LZ_dark</item>
<item name="android:navigationBarColor">@color/LZ_green_dark</item>
</style>
<style name="LzTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="LzTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
在版本 android >=21 中,溢出图标颜色为白色 - 所需颜色。
Image API 21
在Api <21 溢出图标颜色较深。
Image API <21
谁能解释一下为什么 API below 21 中的图标是白色的??
感谢帮助。
如果您使用的是 AppCompat v23.2.0,则必须按照 Support Library 23.2 blog post 中的说明启用支持向量可绘制对象,因为这是使其正常工作所必需的:
对于 Gradle 2.0+,这涉及将行 vectorDrawables.useSupportLibrary = true
添加到 build.gradle
文件中的 defaultConfig
。
覆盖您应用的基本主题中的下一个样式:
<item name="actionOverflowButtonStyle">@android:style/Widget.Holo.ActionButton.Overflow</item>
<style name="Widget.Holo.ActionButton.Overflow">
<item name="android:src">@android:drawable/ic_menu_moreoverflow_holo_dark</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:contentDescription">@string/action_menu_overflow_description</item>
</style>
在我的应用程序中,我有这样构造的工具栏:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/LzTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/LzTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
并以这种方式设置样式:
<style name="LzTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/LZ_green</item>
<item name="colorPrimaryDark">@color/LZ_green_dark</item>
<item name="colorAccent">@color/LZ_yellow</item>
<item name="android:windowBackground">@color/LZ_white</item>
<item name="android:textColorPrimary">@color/LZ_dark</item>
<item name="android:navigationBarColor">@color/LZ_green_dark</item>
</style>
<style name="LzTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="LzTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
在版本 android >=21 中,溢出图标颜色为白色 - 所需颜色。 Image API 21
在Api <21 溢出图标颜色较深。 Image API <21
谁能解释一下为什么 API below 21 中的图标是白色的??
感谢帮助。
如果您使用的是 AppCompat v23.2.0,则必须按照 Support Library 23.2 blog post 中的说明启用支持向量可绘制对象,因为这是使其正常工作所必需的:
对于 Gradle 2.0+,这涉及将行 vectorDrawables.useSupportLibrary = true
添加到 build.gradle
文件中的 defaultConfig
。
覆盖您应用的基本主题中的下一个样式:
<item name="actionOverflowButtonStyle">@android:style/Widget.Holo.ActionButton.Overflow</item>
<style name="Widget.Holo.ActionButton.Overflow">
<item name="android:src">@android:drawable/ic_menu_moreoverflow_holo_dark</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:contentDescription">@string/action_menu_overflow_description</item>
</style>