Android如何实现带描边的圆角图片

  介绍

这篇文章给大家分享的是有关Android如何实现带描边的圆角图片的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

利用学过的BitmapShader渲染类,我们来实现一个带描边的圆角图片。

<强>具体实现:

用来显示自定义的绘图类的布局文件
res/布局/主要。xml:

& lt; ? xml  version=?.0“,编码=皍tf-8" ?祝辞,   & lt; FrameLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android",,   ,xmlns:工具=癶ttp://schemas.android.com/tools",   ,android: layout_width=癴ill_parent",   ,android: layout_height=癴ill_parent",   ,android: id=癅 + id/frameLayout1",   ,android:取向=皏ertical",   在大敌;   ,   & lt;/FrameLayout>

打开MainActivity,在文件中创建名为MyView的内部类,继承android.view。视图类,并添加构造方法和重写onDraw画布(Canvas)方法,在里面进行作图:

在onDraw画布(Canvas)方法中,首先定义一个画笔,并设置其使用抗锯齿功能,然后定义一张背景,然后定义一个要绘制的圆角矩形的区域,并将画布在X轴上平移40像素,在Y轴上平移20像素,再绘制一个黑色的2像素的圆角矩形,作为图片的边,最后绘制一个使用BitmapShader渲染的圆角矩形图片,具体代码如下:

MainActivity:

package  com.example.test;,   ,   import  android.app.Activity,   import  android.content.Context,   import  android.graphics.Bitmap,   import  android.graphics.BitmapFactory,   import  android.graphics.BitmapShader,   import  android.graphics.Canvas,   import  android.graphics.Color,   import  android.graphics.Paint,   import  android.graphics.RectF,   import  android.graphics.Paint.Style,   import  android.graphics.Shader.TileMode,   import  android.os.Bundle,   import  android.view.View,   import  android.widget.FrameLayout,   ,   public  class  MainActivity  extends  Activity  {,   ,   ,   ,@Override    ,public  void  onCreate (Bundle  savedInstanceState), {,   ,super.onCreate (savedInstanceState);,   ,setContentView (R.layout.main);,   ,   ,//获取布局文件中添加的帧布局管理器,   ,FrameLayout  fl=(FrameLayout) findViewById (R.id.frameLayout1);,   ,//将自定义的MyView视图添加到帧布局,   ,fl.addView (new  MyView(这),,   }大敌;   ,   ,public  class  MyView  extends {视图,   ,private  float  view_width=300,,   ,private  float  view_height=300,,   ,public  MyView (Context 上下文),{,   超级(上下文);才能,   ,,   }大敌;   ,   ,   ,@Override    ,protected  void  onDraw (Canvas 画布),{,   Paint 才能;油漆=new 油漆();,   paint.setAntiAlias才能(真正的),,   Bitmap 才能;bitmap_bg=BitmapFactory.decodeResource (MainActivity.this.getResources (),, R.drawable.backgroud),,   canvas.drawBitmap才能(bitmap_bg, 0, 0,油漆);//绘制背景,   RectF 才能;矩形=new  RectF (0, 0280180),,   canvas.translate才能(40岁,20);//将画布在X轴上平移40像素,在Y轴上平移20像素,//才能为图片添加描边,   paint.setStyle才能(Style.STROKE);//设置填充样式为描边,   paint.setColor才能(Color.BLACK);//设置颜色为黑色,   paint.setStrokeWidth才能(2);//设置笔触宽度为2像素,   canvas.drawRoundRect才能(矩形,10日,10日,油漆);//绘制一个描边的圆角矩形,   ,,   paint.setStyle才能(Style.FILL);//设置填充样式为填充,   Bitmap 才能;bm=BitmapFactory.decodeResource (MainActivity.this.getResources (),, R.drawable.img1),,//创才能建一个在水平方向重复,在竖直方向镜像的BitmapShader对象,   BitmapShader 才能;b=new  BitmapShader (bm, TileMode.REPEAT TileMode.MIRROR),,   paint.setShader才能(bs);//设置渲染对象,//才能绘制一个使用BitmapShader渲染的圆角矩形图片,   canvas.drawRoundRect才能(矩形,10日,10日,油漆),,   }大敌;   ,   ,   }大敌;   }

运行效果如图所示

 Android如何实现带描边的圆角图片

感谢各位的阅读!关于“Android如何实现带描边的圆角图片”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

Android如何实现带描边的圆角图片