[英]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.