2

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 ではそうではありません。

4

0 に答える 0