100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android 聊天气泡背景图片 关于实现微信聊天气泡里显示图片

android 聊天气泡背景图片 关于实现微信聊天气泡里显示图片

时间:2020-12-11 16:25:29

相关推荐

android 聊天气泡背景图片 关于实现微信聊天气泡里显示图片

可以用Bitmap画刷填充Path来实现

/**

*CreatedbyCoder.Yanon/5/21.

*/

@SuppressWarnings("deprecation")

publicclassXORViewextendsView{

Paintpaint;

Pathpath;

BitmapShaderbrush;

publicXORView(Contextcontext,AttributeSetattrs){

super(context,attrs);

paint=newPaint();

path=newPath();

BitmapDrawabledrawable=(BitmapDrawable)getResources().getDrawable(R.drawable.ic_texture);

brush=newBitmapShader(drawable.getBitmap(),Shader.TileMode.REPEAT,Shader.TileMode.REPEAT);

}

@Override

protectedvoidonDraw(Canvascanvas){

super.onDraw(canvas);

canvas.save();

paint.setStyle(Paint.Style.FILL);

//paint.setColor(Color.GREEN);

paint.setShader(brush);

canvas.drawPath(path,paint);

paint.reset();

paint.setStyle(Paint.Style.STROKE);

canvas.drawPath(path,paint);

canvas.restore();

}

@Override

protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){

super.onMeasure(widthMeasureSpec,heightMeasureSpec);

path.reset();

intw=getWidth();

inth=getHeight();

path.moveTo(0,10);

path.arcTo(newRectF(0,0,20,20),180,90);

path.lineTo(w-30,0);

path.arcTo(newRectF(w-40,0,w-20,20),-90,90);

path.lineTo(w-20,h/2-10);

path.lineTo(w,h/2);

path.lineTo(w-20,h/2+10);

path.lineTo(w-20,h-10);

path.arcTo(newRectF(w-40,h-20,w-20,h-1),0,90);

path.lineTo(10,h-1);

path.arcTo(newRectF(0,h-20,20,h-1),90,90);

path.close();

}

}

效果图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。