自从使用Sense 5.5 for HTC One进行Android 4.3更新后,我的主屏幕小部件出现了一些眩晕行为,但仅限于此设备。他们有像这样的Background-Shape-Drawable:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="2dp"
android:color="#CCFFFFFF" />
<gradient
android:angle="225"
android:endColor="#99346b9f"
android:startColor="#55346b9f" />
<corners
android:bottomLeftRadius="17dp"
android:bottomRightRadius="17dp"
android:topLeftRadius="17dp"
android:topRightRadius="17dp" />
</shape>
有时背景显示正确,但背景常常变为白色而不是透明蓝色。我还没有找到任何可以解释此错误的Open-GL错误日志或其他内容。所以我尝试使用背景drawable。 现在我觉得我找到了一个解决方案,我需要更多的测试来验证这个,但我会传播这个原因我还没有找到任何其他帮助。我唯一改变的是将四个角落属性组合到android:radius attribut。看看:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="2dp"
android:color="#CCFFFFFF" />
<gradient
android:angle="135"
android:endColor="#884d8bc3"
android:startColor="#881d3449" />
<corners
android:radius="17dp" />
</shape>
所以这个接缝有所帮助,但我不知道为什么会导致:
机器人:半径 尺寸。所有角的半径,作为维值或维度资源。通过以下属性覆盖每个角落。
http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
它应该是等同的。但是在HTC One上它不是。