<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/purple2"
android:minHeight="56dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:titleTextAppearance="@style/ToolbarTitle" />
在我的 nexus 6 上,后退按钮为白色,3点菜单为白色,标题为白色。在我运行的模拟器上, API级别14 标题为白色,但后退箭头和点菜单为黑色。怎么样?
答案 0 :(得分:1)
defaultConfig { applicationId "com.myapp.app" minSdkVersion 10 targetSdkVersion 22 multiDexEnabled true versionCode 25 versionName "1.24" generatedDensities = [] } // This is handled for you by the 2.0+ Gradle Plugin // This is handled for you by the 2.0+ Gradle Plugin aaptOptions { additionalParameters "--no-version-vectors" }
这解决了我的2台设备的情况,不确定现在所有设备是否都是同一个故事。
答案 1 :(得分:1)
我可以通过检查下面的解决方案来修复类似的问题。我发布了同样的解决方案HERE。
我发现AppCompat主题使用以下资源进行溢出按钮(3点):abc_ic_menu_overflow_material.xml
此资源的内容为:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?attr/colorControlNormal">
...
</vector>
因此,正如您所看到的,它使用的是colorControlNormal和vectorDrawables
如何修复
根据Library V23.2.0发行说明(LINK HERE),我们必须更新build.gradle以添加对Vector的支持:
<强>的build.gradle 强>
将以下行添加到构建gradle
Gradle 2.0(我没有测试过):
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Gradle 1.5(我正在使用它..它有效):
android {
defaultConfig {
generatedDensities = []
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
修复主题
也许,不需要这一步(因为可能,您的父主题已经将颜色设置为白色)。
但如果这些按钮仍为黑色,则必须将ColorControlNormal添加到主题中:
<强> ToolbarLayout 强>
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
...
android:theme="@style/MyToolBarStyle"
... />
<强> styles.xml 强>
<style name="MyToolBarStyle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="colorControlNormal">@color/white</item>
</styel>
这就是我解决问题的方法。