diff options
Diffstat (limited to 'graphics/java/android')
-rw-r--r-- | graphics/java/android/graphics/drawable/BitmapDrawable.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/graphics/java/android/graphics/drawable/BitmapDrawable.java b/graphics/java/android/graphics/drawable/BitmapDrawable.java index f5e63ae..40adf94 100644 --- a/graphics/java/android/graphics/drawable/BitmapDrawable.java +++ b/graphics/java/android/graphics/drawable/BitmapDrawable.java @@ -16,6 +16,7 @@ package android.graphics.drawable; +import android.annotation.NonNull; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; @@ -27,6 +28,7 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.Insets; import android.graphics.Matrix; +import android.graphics.Outline; import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.PorterDuff; @@ -598,6 +600,16 @@ public class BitmapDrawable extends Drawable { } @Override + public void getOutline(@NonNull Outline outline) { + super.getOutline(outline); + if (mBitmapState.mBitmap.hasAlpha()) { + // Bitmaps with alpha can't report a non-0 alpha, + // since they may not fill their rectangular bounds + outline.setAlpha(0.0f); + } + } + + @Override public void setAlpha(int alpha) { final int oldAlpha = mBitmapState.mPaint.getAlpha(); if (alpha != oldAlpha) { |