public class ShadowView extends View {
private Paint mShadowPaint;
private Drawable mBackgroundDrawable;
public ShadowView(Context context) {
super(context);
init();
}
public ShadowView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
// 初始化阴影画笔
mShadowPaint = new Paint();
mShadowPaint.setColor(Color.BLACK);
mShadowPaint.setShadowLayer(10, 0, 0, Color.parseColor("#33000000"));
// 初始化背景Drawable
mBackgroundDrawable = getResources().getDrawable(R.drawable.background_shape);
}
@Override
protected void onDraw(Canvas canvas) {
// 绘制阴影
canvas.drawRect(0, 0, getWidth(), getHeight(), mShadowPaint);
// 绘制背景
mBackgroundDrawable.setBounds(0, 0, getWidth(), getHeight());
mBackgroundDrawable.draw(canvas);
}
}