2

このコードを使用して、楕円の周りに影を付けようとしています:

shadow = new Paint();
    shadow.setColor(Color.YELLOW);
    shadow.setShadowLayer(10, 0, 0, Color.YELLOW);

描画関数は次のようになります。

c.drawOval(ovalRect, shadow);
super.draw(c); //Draws bitmap

そのため、まず影を含むペイントで楕円を描画し、その上に透明なビットマップを描画します (ビットマップにはペイントがありません)。

次の結果が得られ スクリーンショット ます。影が楕円形に沿って広がっていないことがわかりますが、切り取られています。この動作の原因は何ですか?

4

2 に答える 2

0

半径を変更することで、これを試すことができます:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- Drop Shadow Stack -->
    <item>
        <shape>
            <corners android:radius="12dp" />

            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <solid android:color="#00CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <corners android:radius="12dp" />

            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <solid android:color="#10CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <corners android:radius="12dp" />

            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <solid android:color="#20CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <corners android:radius="12dp" />

            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <solid android:color="#30CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <corners android:radius="12dp" />

            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <solid android:color="#50CCCCCC" />
        </shape>
    </item>

    <!-- Background -->
    <item>
        <shape>
            <solid android:color="@android:color/white" />

            <corners android:radius="12dp" />
        </shape>
    </item>

</layer-list>
于 2013-08-30T12:31:03.623 に答える