diff --git a/lib/java/com/google/android/material/shape/MaterialShapeDrawable.java b/lib/java/com/google/android/material/shape/MaterialShapeDrawable.java index a2d21430ba6..8b73ce416d9 100644 --- a/lib/java/com/google/android/material/shape/MaterialShapeDrawable.java +++ b/lib/java/com/google/android/material/shape/MaterialShapeDrawable.java @@ -455,6 +455,11 @@ public int getOpacity() { return PixelFormat.TRANSLUCENT; } + @Override + public int getAlpha() { + return drawableState.alpha; + } + @Override public void setAlpha(@IntRange(from = 0, to = 255) int alpha) { if (drawableState.alpha != alpha) { diff --git a/lib/javatests/com/google/android/material/shape/MaterialShapeDrawableTest.java b/lib/javatests/com/google/android/material/shape/MaterialShapeDrawableTest.java index cc8f43c5008..ba9e2da184d 100644 --- a/lib/javatests/com/google/android/material/shape/MaterialShapeDrawableTest.java +++ b/lib/javatests/com/google/android/material/shape/MaterialShapeDrawableTest.java @@ -34,6 +34,7 @@ public class MaterialShapeDrawableTest { private static final float ELEVATION = 4; private static final float TRANSLATION_Z = 2; private static final float Z = ELEVATION + TRANSLATION_Z; + private static final int ALPHA = 127; private final Context context = ApplicationProvider.getApplicationContext(); @@ -132,4 +133,11 @@ public void givenElevation_whenSetZ_setsTranslationZToDifferenceBetweenZAndEleva assertThat(drawable.getFillColor().getDefaultColor()).isEqualTo(colorSurface); assertThat(drawable.isElevationOverlayInitialized()).isTrue(); } + + @Test + public void whenSetAlpha_returnsAlpha() { + materialShapeDrawable.setAlpha(ALPHA); + + assertThat(materialShapeDrawable.getAlpha()).isEqualTo(ALPHA); + } }