HTC One の Sense 5.5 を使用した 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 エラー ログやその他の情報は見つかりませんでした。そこで、背景のドローアブルを操作しようとしました。そして今、私は解決策を見つけたと思います。これを確認するにはさらにテストが必要ですが、この原因を広めます。そのための他の助けは見つかりませんでした. 私が変更した唯一のことは、4 つのコーナー属性を android:radius 属性に結合することです。見てみましょう:
<?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>
したがって、これは役に立ちますが、原因がわかりません:
android:radius ディメンション。寸法値または寸法リソースとしての、すべてのコーナーの半径。これは、次の属性によってコーナーごとにオーバーライドされます。
http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
同等である必要があります。しかし、HTC One ではそうではありません。