我的应用操作栏中的图标颜色不同,具体取决于设备的API级别。我希望他们在所有设备上看起来都一样。
这就是它在API 23中的表现,这就是我希望它在所有设备中的表现:
这就是旧版本的外观:
我有以下styles.xml:
值/ styles.xml
<style name="MyMaterialTheme" parent="MyMaterialTheme.Base">
</style>
<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
V21 / styles.xml
<style name="MyMaterialTheme" parent="MyMaterialTheme.Base">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
这是actionBar的布局:
...
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
...
这是我的Manifest.xml的一部分
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name="com.martinez.mario.rutapp.base.RutappApplication"
android:theme="@style/MyMaterialTheme" >
如何在所有设备中使箭头和溢出图标显示为白色?
感谢。
答案 0 :(得分:2)
您可能遇到appcompat支持库23.2.0中的错误,更新到23.2.1或启用了支持向量drawables:
vectorDrawables.useSupportLibrary = true
23.2.0中的Appcompat引入了矢量支持drawables的生成(如果启用),问题是appcompat本身利用了这个并且也使用了它,但这需要启用向量drawables生成。它自己的使用在23.2.1中再次被恢复,以便不要求这样做。