/** Initialize shadows, color overlay, and rounded corners. All are optional. */ void initialize(int shadowType, boolean hasColorDimOverlay, int roundedCornerRadius) { if (mInitialized) { throw new IllegalStateException(); } mInitialized = true; mRoundedCornerRadius = roundedCornerRadius; mRoundedCorners = roundedCornerRadius > 0; mShadowType = shadowType; switch (mShadowType) { case SHADOW_DYNAMIC: mShadowImpl = ShadowHelper.getInstance() .addDynamicShadow(this, mUnfocusedZ, mFocusedZ, mRoundedCornerRadius); break; case SHADOW_STATIC: mShadowImpl = StaticShadowHelper.getInstance().addStaticShadow(this); break; } if (hasColorDimOverlay) { setWillNotDraw(false); mOverlayColor = Color.TRANSPARENT; mOverlayPaint = new Paint(); mOverlayPaint.setColor(mOverlayColor); mOverlayPaint.setStyle(Paint.Style.FILL); } else { setWillNotDraw(true); mOverlayPaint = null; } }
/** Returns true if the platform sdk supports dynamic shadows. */ public static boolean supportsDynamicShadow() { return ShadowHelper.getInstance().supportsDynamicShadow(); }