android - Android 4.0 或更高版本中可绘制对象颜色的奇怪行为

标签 android android-drawable

我对 android 资源有一个奇怪的问题。我在 Android 2.2 (android:minSdkVersion="8") 上创建了应用程序。该应用程序工作正常。

当我在例如 Android 4.0 上安装应用程序时,该应用程序运行良好,但在第一次运行时一些资源发生了变化。

例如,我有一个名为 primary_color 的可绘制颜色,它指的是 #FFFFFF html 颜色。安装后,系统呈现黑色而不是白色。在某些情况下,@android:color/white 呈现黑色。

强制关闭应用程序并重新启动应用程序解决了这个问题。

请帮我解决这个问题。

最佳答案

这是由 Android 版本 4.0 到 4.1.3 中的错误引起的,我一直在测试一个类似的问题,即 drawables 仅在这些版本的设备上变为黑色,它不存在于 android 版本 > 4.2 的设备中。

我确定您在自己的研究中注意到了,但似乎没有正确记录,也没有官方解决方案,但我可以提供一些解决方法:

1) 关闭硬件加速,我使用了不同的解决方案来解决我的问题,但已知这可以解决上述 Android 版本中的一些图像问题。如果您希望为您的应用程序启用硬件加速,您可以通过将其添加到 list 中的 Activity 声明来针对问题 Activity 禁用它。

<activity
 android:name="activityName"
 android:hardwareAccelerated="false"/>

2) 对于特定于您的示例的解决方案,尝试将颜色设置为 @android:color/transparent,这解决了我需要背景可绘制对象保持白色的问题。

3) 引用这里:http://code.google.com/p/android/issues/detail?id=34619查看类似的记录错误,其中一些解决方案也可能适用于您的问题。

HTH

关于android - Android 4.0 或更高版本中可绘制对象颜色的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316826/

相关文章:

java - 如何将日期转换成不同的格式

android - Android drawable的clip-path层可以旋转吗?

android - 关于android中的临时数据存储

android - 当调用 Activity/Fragment 改变方向时,Android 中的服务会停止吗?

Android - 定期更新 TextView

android - 位图重力设置为居中,即使图像足够大也不会填满屏幕

android - 更改 GradientDrawable 的填充

android - 如何保存 map 以供离线查看

Android 资源阿拉伯语本地化

java - 如何以编程方式制作可绘制形状 (Android)