我对 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/