Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.BlurMaskFilter;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.graphics.RectF;
- import android.graphics.Paint.Style;
- import android.util.AttributeSet;
- import android.widget.LinearLayout;
- public class TransparentPanel extends LinearLayout
- {
- private Paint innerPaint, borderPaint ;
- public TransparentPanel(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
- public TransparentPanel(Context context) {
- super(context);
- init();
- }
- private void init() {
- innerPaint = new Paint();
- innerPaint.setARGB(175, 0, 0, 0); //gray 75 75 75
- innerPaint.setAntiAlias(true);
- borderPaint = new Paint();
- borderPaint.setARGB(150, 0, 0, 0);
- borderPaint.setAntiAlias(true);
- borderPaint.setStyle(Style.STROKE);
- borderPaint.setStrokeWidth(1);
- }
- public void setInnerPaint(Paint innerPaint) {
- //this.innerPaint = innerPaint;
- }
- public void setBorderPaint(Paint borderPaint) {
- //this.borderPaint = borderPaint;
- }
- @Override
- protected void dispatchDraw(Canvas canvas) {
- /*
- RectF drawRect = new RectF();
- drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight());
- canvas.drawRoundRect(drawRect, 5, 5, innerPaint);
- canvas.drawRoundRect(drawRect, 5, 5, borderPaint);
- */
- Bitmap myCanvasBitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
- Canvas myCanvas = new Canvas(myCanvasBitmap);
- //canvas=new Canvas(myCanvasBitmap);
- Paint mShadow = new Paint(Paint.ANTI_ALIAS_FLAG);
- mShadow.setColor(Color.RED);
- //mShadow.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
- mShadow.setStrokeWidth(2);
- mShadow.setStyle(Style.STROKE);
- //Log.i("width and height ", (int)(w-(w/13))+" "+(int)(h-(h/20)));
- //myCanvas.drawRoundRect(new RectF(3,3,(int)(w-(w*0.125)), (int)(h-(h*0.17708))), 10, 10 , mShadow);
- myCanvas.drawRoundRect(new RectF(15, 15, (int) getMeasuredWidth()-15, (int) getMeasuredHeight()-15), 10, 10 , mShadow);
- BlurMaskFilter blurMaskFilter;
- //Create background in White
- Bitmap alpha=myCanvasBitmap.extractAlpha(mShadow,new int[] {20,20});
- mShadow.setColor(Color.YELLOW);
- canvas.drawBitmap(alpha, 20, 20, mShadow);
- int blurValue= 3;
- //Create outer blur, in White
- blurMaskFilter = new BlurMaskFilter(blurValue, BlurMaskFilter.Blur.OUTER);
- mShadow.setMaskFilter(blurMaskFilter);
- canvas.drawBitmap(alpha, 20, 20, mShadow);
- //Create inner blur
- blurMaskFilter = new BlurMaskFilter(blurValue, BlurMaskFilter.Blur.INNER);
- mShadow.setMaskFilter(blurMaskFilter);
- canvas.drawBitmap(myCanvasBitmap, 20, 20, mShadow);
- super.dispatchDraw(canvas);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment