简易的圆角ImageView实现

原创 2015年07月08日 10:23:25

这里实现一个简易的圆角ImageView

public class RoundCornerImageView extends ImageView {
	RectF rect;
	Paint paint;
	Path clipPath;
	int dp1;
	int dp3;

	public RoundCornerImageView(Context context, AttributeSet attrs) {
		super(context, attrs);

		TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RoundedImageView);
		int textColor = a.getColor(R.styleable.RoundedImageView_border_color, 0XFFFFFFFF);

		dp1 = DensityUtil.dip2px(context, 1);
		dp3 = DensityUtil.dip2px(context, 3);

		rect = new RectF();

		clipPath = new Path();

		paint = new Paint();
		paint.setAntiAlias(true);
		paint.setStrokeWidth(dp1);
		paint.setColor(textColor);
		paint.setStyle(Style.STROKE);

		closeHardwareAccelarated();

		a.recycle();

	}

	@SuppressLint("NewApi")
	private void closeHardwareAccelarated() {
		if (VERSION.SDK_INT >= 11) {
			setLayerType(View.LAYER_TYPE_SOFTWARE, paint);
		}
	}

	@Override
	public void onDraw(Canvas canvas) {
		long a = System.currentTimeMillis();
		rect.set(0, 0, getWidth(), getHeight());
		clipPath.addRoundRect(rect, dp3, dp3, Path.Direction.CW);
		canvas.clipPath(clipPath);
		super.onDraw(canvas);
		canvas.drawRoundRect(rect, dp3, dp3, paint);
		Util.LogE("CornerImage", "CornerImage:" + (System.currentTimeMillis() - a));
	}
}

Android 圆角圆形ImageView(超简单实现)

前言:今天偶然看到我之前写过的一篇博客 Android项目中遇到的坑之(Android圆角圆形图 一),我在想,这不就是在模仿ImageView么,我为什么要模仿,直接拿来用不是更好么?我能直接在Im...
  • vv_bug
  • vv_bug
  • 2017年03月14日 15:11
  • 3516

Android 三种方式实现圆角ImageView

Android 三种方式实现圆角ImageView
  • ZZ7ZZ7ZZ
  • ZZ7ZZ7ZZ
  • 2016年01月28日 19:34
  • 4091

有关ImageView的圆角或弧度角设置

import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; import android.graph...
  • jianguo_liao19840726
  • jianguo_liao19840726
  • 2015年03月12日 20:26
  • 2271

android ImageView实现上面圆角下面直角(xml实现方法)

主要思想,用一个上面有两个圆角的图片覆盖在imageview上主xml布局:
  • qq_22157767
  • qq_22157767
  • 2016年03月11日 20:01
  • 1951

关于Android圆角ImageView的几种实现方式

from: http://www.jianshu.com/p/626dbd93207d 在实际的开发中,我们经常会遇到需要圆角ImageView的情况,但是这种ImageView官方是没有提供的...
  • birthmarkqiqi
  • birthmarkqiqi
  • 2017年10月11日 11:28
  • 236

自定义imageview 实现圆角 甚至圆形imageview(并不是将图片变圆角)

最近遇到新需求   不论用户上传什么形状的头像  展示的时候都要显示成圆形  且头像背后是有背景图的   。 于是想到了 将控件变圆  这样可以任意适配了 先上效果图 下图为方形头像...
  • wuhongqi0012
  • wuhongqi0012
  • 2013年12月16日 12:45
  • 3107

自己收藏的几种圆角ImageView方式。

一:处理bitmap达到圆角效果 package com.xc.xcskin.view; import android.content.Context; import android.graphi...
  • u013109455
  • u013109455
  • 2016年08月18日 10:35
  • 119

android ImageView实现圆角(xml实现方法)

主要思想,用一个上面有四个个圆角的view覆盖在imageview上主xml布局:
  • qq_22157767
  • qq_22157767
  • 2016年03月15日 14:11
  • 2691

android 自定义View开发实战(四) 圆角矩形ImageView实现

0 前言有时项目中用ImageView显示图片时需要把形状显示成圆角矩形。因为直角的太生硬了,体验不太友好。为此我们可以自定义一个ImageView来实现。1 思路我们自定义一个RoundCorner...
  • qiyei2009
  • qiyei2009
  • 2016年11月25日 16:24
  • 1171

android 实现圆角imageView的两种方法

首先说明:两种方法都有一个相同点,重写了onDraw方法,方法里面都是采用重绘bitmap的方式实现圆角Image 第二种方法网上有很多相似例子,不过发现它们都有一个错误,就是左下角不能实现圆角,我的...
  • u014763302
  • u014763302
  • 2015年03月02日 15:29
  • 15228
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简易的圆角ImageView实现
举报原因:
原因补充:

(最多只允许输入30个字)