Appcompat 工具栏的后退按钮和选项按钮是黑色的
Appcompat toolbar's back button and option button are black
我们在我们的应用程序中使用新的工具栏而不是旧的操作栏。
在 Android 5 及更高版本上一切正常。在 Android 4 及更低版本中,后退按钮和选项按钮显示为 black
虽然它们应该是 白色
我们的themes.xml定义如下:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
<item name="colorPrimary">@color/ColorPrimary</item>
<item name="colorPrimaryDark">@color/ColorPrimaryDarker</item>
<item name="colorAccent">@color/ColorPrimaryRipple</item>
</style>
<!-- AppCompat Theme Transparent -->
<style name="Theme.Translucent" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/club_nestle_description_activity_background</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
如有任何帮助,我们将不胜感激!
试试这个。为您的 Toolbar
:
创建自定义主题
<style name="MyToolbarStyle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="colorControlNormal">@android:color/white</item>
<item name="android:textColorPrimary">@android:color/white</item>
</style>
并像这样申请
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/MyToolbarStyle" />
编辑: 如果这不起作用,请尝试在 Activity:
中以编程方式更改色调
final Drawable upArrow = ContextCompat.getDrawable(this, R.drawable.abc_ic_ab_back_mtrl_am_alpha);
upArrow.setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
有关详细信息,请参阅 @Carles answer。
希望对您有所帮助!
试试你的 AppTheme
风格:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
我找到了解决方案:我的 gradle 文件缺少以下行:
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
我们在我们的应用程序中使用新的工具栏而不是旧的操作栏。
在 Android 5 及更高版本上一切正常。在 Android 4 及更低版本中,后退按钮和选项按钮显示为 black
虽然它们应该是 白色
我们的themes.xml定义如下:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
<item name="colorPrimary">@color/ColorPrimary</item>
<item name="colorPrimaryDark">@color/ColorPrimaryDarker</item>
<item name="colorAccent">@color/ColorPrimaryRipple</item>
</style>
<!-- AppCompat Theme Transparent -->
<style name="Theme.Translucent" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/club_nestle_description_activity_background</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
如有任何帮助,我们将不胜感激!
试试这个。为您的 Toolbar
:
<style name="MyToolbarStyle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="colorControlNormal">@android:color/white</item>
<item name="android:textColorPrimary">@android:color/white</item>
</style>
并像这样申请
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/MyToolbarStyle" />
编辑: 如果这不起作用,请尝试在 Activity:
中以编程方式更改色调final Drawable upArrow = ContextCompat.getDrawable(this, R.drawable.abc_ic_ab_back_mtrl_am_alpha);
upArrow.setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
有关详细信息,请参阅 @Carles answer。
希望对您有所帮助!
试试你的 AppTheme
风格:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
我找到了解决方案:我的 gradle 文件缺少以下行:
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}