介绍
这篇文章给大家分享的是有关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如何实现带描边的圆角图片”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!