I am trying to add a shadow to ImageView. Another Stackoverflow answer seems to be using canvas and bitmaps, etc., which is much more complicated than it should be.
In 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 will display the shadow, regardless of whether the shadow is applied to the view, image or text.
I 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 do not see the expected red shadow for my image of a bird at all.
Am I doing something wrong?
Example
Let's say I want the shadow to be like this:

Update
Do I need to resort to Android 5.0 and the new Elevation api ( http://developer.android.com/training/material/shadows-clipping.html )?
But if someone was supposed to use the new API, then according to the current demography ( http://www.droid-life.com/2016/02/02/android-distribution-february-2016/ ), more than 50% of users will not be able to use the application.
T_T