[英]Drop shadow blur effect on a FrameLayout / Layout in Android
我正在尝试在矩形布局视图上使用COLOR制作阴影模糊效果。 我尝试使用此代码,但无济于事。
int glowRadius = 14;
int glowColor = Color.parseColor("#acc5fe");
Paint paint = new Paint();
paint.setColor(glowColor);
paint.setMaskFilter(new BlurMaskFilter(glowRadius, BlurMaskFilter.Blur.OUTER));
RectF rectF = new RectF(mRootView.getHeight(), mRootView.getWidth(),
mRootView.getHeight(), mRootView.getWidth());
Canvas canvas = new Canvas();
canvas.drawRect(rectF, paint);
mRootView.draw(canvas);
它似乎什么也没做。 我也尝试使用shadowDx和shadowDy等,但这无济于事。
如何在按钮上添加模糊的阴影? 这是一个非常相似的问题,但我认为9补丁不是一个可行的解决方案,因为它是布局而不是图像。
如何在Android上创建外部阴影模糊效果?
更新资料
仍然没有找到成功的答案。 我想要类似的东西
阴影效果在电子邮件编辑文本上的颜色不同于黑色。
尝试遵循一个用于支持凸材质阴影的库
从您的问题中我了解到的是,首先您要放下阴影。 这是您可以用来阴影的方法。
只需将其添加到xml中的父布局即可。
android:background="@android:drawable/dialog_holo_light_frame"
检查此答案以获取更多信息。 如何在Android的警报对话框中添加阴影效果
让我知道这是否适合您。
编辑:请检查此答案。 这可能对您有帮助。 扩展Android View类以添加阴影
可以使用NinePatchDrawable实现。 以下是一个简单的示例。
protected NinePatchDrawable bg;
protected Paint paint;
protected Rect padding = new Rect();
protected Bitmap bmp;
protected void init() {
// decode the 9patch drawable
bg = (NinePatchDrawable) getResources().getDrawable(R.drawable.balloon);
// get paddings from the 9patch and apply them to the View
bg.getPadding(padding);
setPadding(padding.left, padding.top, padding.right, padding.bottom);
// prepare the Paint to use below
paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.rgb(255,255,255));
paint.setStyle(Style.FILL);
// this check is needed in order to get this code
// working if target SDK>=11
if( Build.VERSION.SDK_INT >= 11 )
setLayerType(View.LAYER_TYPE_SOFTWARE, paint);
// set the shadowLayer
paint.setShadowLayer(
padding.left * .2f, // radius
0f, // blurX
padding.left * .1f, // blurY
Color.argb(128, 0, 0, 0) // shadow color
);
}
另外,请尝试以下颜色:
Color.argb(128, 0, 0, 0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.