现在的位置: 首页 > 综合 > 正文

给LinearLayout设置阴影

2017年12月15日 ⁄ 综合 ⁄ 共 806字 ⁄ 字号 评论关闭

/**
* 給LinearLayout设置阴影
*/
private void setLinearLayoutDark() {

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.layoutDark);

BlurMaskFilter blurFilter = new BlurMaskFilter(5, BlurMaskFilter.Blur.OUTER); // 设置模糊画笔
Paint shadowPaint = new Paint();
shadowPaint.setMaskFilter(blurFilter); // 設置BlurMaskFilter對象

int[] offsetXY = new int[2];
Bitmap originalBitmap = BitmapFactory.decodeResource(this.getResources(),
R.drawable.base_top_bg); // 原始图片
Bitmap shadowBitmap = originalBitmap.extractAlpha(shadowPaint, offsetXY); // 原始图片的Alpha值
Bitmap shadowImage = shadowBitmap.copy(Bitmap.Config.ARGB_8888, true);  //每一颜色以4位像素存储

Canvas c = new Canvas(shadowImage);  //创建画布对象
c.drawBitmap(originalBitmap, 3, 3, null); // 将左角落在指定的坐标(x,y),并用指定画笔画,改变矩阵,这边画笔为null

Drawable drawable = new BitmapDrawable(shadowImage);  //正确地设置其目标可拉的密度。
linearLayout.setBackgroundDrawable(drawable);
}

抱歉!评论已关闭.