I'm trying to add a drop shadow to an ImageView. The other Stackoverflow answer seems to be using canvas and bitmaps etc, way more complicated than it needs to be.
On iOS I would do something like this:
myImageView.layer.shadowColor = [UIColor redColor].CGColor;
myImageView.layer.shadowRadius = 5;
myImageView.layer.shadowOffset = CGRectMake(0, 5);
and it would render a drop shadow, regardless of whether the shadow is being applied on a view, an image or text.
I've tried to do the same on Android but it just refuses to work:
birdImageView = new ImageView(context);
birdImageView.setImageResource(R.drawable.yellow_bird);
Paint paint = new Paint();
paint.setAntiAlias(true);
birdImageView.setLayerType(LAYER_TYPE_SOFTWARE, null);
paint.setShadowLayer(5, 0, 5, Color.argb(255, 255, 0, 0));
birdImageView.setLayerPaint(paint);
I don't see any expected red drop shadow on my bird image at all.
Am I doing something wrong?
Example
Let's say I want the drop shadow like this:
Update
Do I have to resort to Android 5.0 and the new Elevation api (http://developer.android.com/training/material/shadows-clipping.html) ?
But if one was to use new API, then according to current demographics (http://www.droid-life.com/2016/02/02/android-distribution-february-2016/) more than 50% of users will not be able to use the app.
T_T