我正在尝试向ImageView添加一个下拉阴影。其他Stackoverflow答案似乎使用画布和位图等方式,比它需要的要复杂得多。
在iOS上,我会这样做:
myImageView.layer.shadowColor = [UIColor redColor].CGColor;
myImageView.layer.shadowRadius = 5;
myImageView.layer.shadowOffset = CGRectMake(0, 5);
不管是在视图、图片还是文本上应用阴影,它都会呈现出一个下拉阴影效果。
我尝试在Android上做同样的事情,但它却无法正常工作:
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);
我在鸟的图像上没有看到任何预期的红色投影阴影。
我做错了什么吗?
示例
假设我想要这样的投影阴影:
更新
我必须使用Android 5.0和新的Elevation API (http://developer.android.com/training/material/shadows-clipping.html) 吗?
但是,如果使用新API,根据当前人口统计数据 (http://www.droid-life.com/2016/02/02/android-distribution-february-2016/) 超过50%的用户将无法使用该应用程序。
T_T