Android布局中设置圆形图片
来源:互联网 发布:客户数据集市 编辑:程序博客网 时间:2024/06/04 18:59
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.ImageView;
public class XImageView extends ImageView {
private Paint paint;public XImageView(Context context) { this(context, null);}public XImageView(Context context, AttributeSet attrs) { this(context, attrs, 0);}public XImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); paint = new Paint();}/** * 绘制圆形图片 * * @author caizhiming */@Overrideprotected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if (null != drawable) { Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); Bitmap b = getCircleBitmap(bitmap, 14); final Rect rectSrc = new Rect(0, 0, b.getWidth(), b.getHeight()); final Rect rectDest = new Rect(0, 0, getWidth(), getHeight()); paint.reset(); canvas.drawBitmap(b, rectSrc, rectDest, paint); } else { super.onDraw(canvas); }}/** * 获取圆形图片方法 * * @param bitmap * @param pixels * @return Bitmap * @author caizhiming */private Bitmap getCircleBitmap(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); int x = bitmap.getWidth(); canvas.drawCircle(x / 2, x / 2, x / 2, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output;}
}
继承一个Imageview 把它当控件使,如:com.test.imageview
用到布局中就行了
0 0
- Android布局中设置圆形图片
- android中设置圆形图片
- Android布局自定义Shap圆形ImageView,可以单独设置背景与图片
- Android 布局自定义Shap圆形ImageView,可以单独设置背景与图片
- Android布局自定义Shap圆形ImageView,可以单独设置背景与图片
- Android中圆形图片转换
- Android:设置圆形头像,Android截取圆形图片
- Android自定义设置圆形图片控件
- Android自定义圆形图片,设置边框
- android实现设置圆形图片(一)
- Android Glide设置默认图片、异常图片为圆形图片
- Android中设置图片的圆形遮罩的几种方式
- Android 设置图片的布局
- Android中自定义圆形图片(一)
- Android中自定义圆形图片(二)
- Android 中图片实现圆形显示
- ImageLodar设置圆形图片
- 设置圆形图片
- 创建数据库utf8
- 使用Apache与mod_wsgi部署Django应用到服务器
- 去掉UITableView的section的粘性,使其不会悬停
- leetcode——Find Minimum in Rotated Sorted Array II
- sql语句中字段的别名中含有括号时的解决办法
- Android布局中设置圆形图片
- Driver 加载步骤
- matlab-自控原理 泰勒展开
- TCP中带宽时延积与窗大小的关系
- DB2学习必须有的
- (1)LoadRunner如何开展性能测试
- [JQ权威指南]SlideDown()与SlideUp()方法实现滑动效果
- 解决linux不能上外网的问题
- 获取沙盒文件(深度遍历和浅度遍历)