2015-01-13 14 views
5

を無視paint.setShadowLayer、setShadowLayer方法は、shadowColorはを(ここに私は私のコードでColor.REDを指定)の代わりにsetShadowLayerのここ(Color.argb(255、50の塗装色を取って無視されます、153、187))。以下は私の塗料の設定で、参考のために添付された画像を見つけ、感謝enter image description hereアンドロイド - 私は影の色で問題に直面していますshadowColorは

paint.setAntiAlias(true); 
    paint.setColor(Color.argb(255, 50, 153, 187)); 
    paint.setStyle(Paint.Style.STROKE); 
    paint.setStrokeJoin(Paint.Join.ROUND); 
    paint.setStrokeWidth(STROKE_WIDTH); 
    paint.setStrokeCap(Paint.Cap.ROUND); 
    paint.setShadowLayer(7.0f, 20.0f, 2.0f, Color.RED); 
+1

shadowLayerは、ハードウェアアクセラレーションが無効になっている場合にのみ動作します動作するはずです。 'IF(Build.VERSION.SDK_INT> = Build.VERSION_CODES.HONEYCOMB){ setLayerType(LAYER_TYPE_SOFTWARE、塗料)を追加してみてください。 }それはあなたのソリューションと連携 ' – Blackbelt

+0

グレート。回答に追加してください。他の人にも役立ちます。おかげ –

+1

行わ。どういたしまして – Blackbelt

答えて

10

shadowLayerは、それだけのハードウェアアクセラレーションが無効になっている作品。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
     setLayerType(LAYER_TYPE_SOFTWARE, paint); 
} 

を追加し、それが

関連する問題