diff options
| -rw-r--r-- | core/java/android/view/View.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 83c6e9e1ab83..4e6735acf1e1 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -16855,9 +16855,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } else { // use layer paint to draw the bitmap, merging the two alphas, but also restore int layerPaintAlpha = mLayerPaint != null ? mLayerPaint.getAlpha() : 255; - mLayerPaint.setAlpha((int) (alpha * layerPaintAlpha)); + if (mLayerPaint == null && alpha < 1) { + mLayerPaint = new Paint(); + mLayerPaint.setAlpha((int) (alpha * layerPaintAlpha)); + } canvas.drawBitmap(cache, 0.0f, 0.0f, mLayerPaint); - mLayerPaint.setAlpha(layerPaintAlpha); + if (mLayerPaint != null) { + mLayerPaint.setAlpha(layerPaintAlpha); + } } } |