自定义控件图片圆形和边框
2017-10-25 19:13
148 查看
import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Path; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.widget.ImageView; /** * Created by lenovo on 2017/10/25. */ public class CircleImageView extends android.support.v7.widget.AppCompatImageView { public CircleImageView(Context context) { super(context); } public CircleImageView(Context context, AttributeSet attrs) { super(context, attrs); } public CircleImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } private int bWidth = 10;// 边框宽度 private int bColor = Color.WHITE;// 边框颜色 /** * 设置圆形图片的边框颜色 * @param color */ public void setBorderColor(int color) { bColor = color; } /** * 设置圆形图片的边框宽度 * @param */ public void setBorderWidth(int width) { bWidth = width; } /** * 设置圆形图片的边框宽度和颜色 * @param */ public void setBorderWidth(int width, int color) { bWidth = width; bColor = color; } @Override public void setImageBitmap(Bitmap bm) { int d = Math.min(bm.getWidth(), bm.getHeight());// 或得圆直径 Bitmap dest = Bitmap.createBitmap(d, d, bm.getConfig());// 创建一个副本 // 画边框 Canvas c = new Canvas(dest); Paint paint = new Paint(); paint.setColor(bColor); // 边框颜色 paint.setAntiAlias(true);// 设置抗锯齿 c.drawCircle(d / 2, d / 2, d / 2, paint); // 画圆 Path path = new Path(); path.addCircle(d / 2, d / 2, d / 2 - bWidth, Path.Direction.CW); c.clipPath(path); // 裁剪区域 Matrix matrix = new Matrix();// 不缩放 c.drawBitmap(bm, matrix, paint);// 把图画上去 super.setImageBitmap(dest);
} }
public class MainActivity extends Activity {
private CircleImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (CircleImageView) findViewById(R.id.iv);
iv.setBorderWidth(15, Color.BLUE);// 设置边框
ImageLoader.getInstance().displayImage(bigBean.getData().get(position).getImg(),iv, MyApplication.getOptions());
}
}
相关文章推荐
- 自定义控件---带边框的圆形图片
- 圆形图片带有边框可以自定义边框颜色
- Quartz2D - 图片裁剪为正圆形2(加边框)
- glide加载圆形图片待边框
- Android圆形图片--自定义控件
- iOS Quartz2D - 裁剪图片为带边框的圆形图片
- android 自定义控件 圆形图片
- 给图片设置圆角和圆形边框,添加点击事件
- 圆形图片带有边框可以自定义边框颜色
- Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框
- Quartz2D - 图片裁剪为圆形(加边框)
- iOS开发学习-给圆形图片添加边框
- Picasso利用Transformation自定义带边框的圆形图片
- Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框
- Android圆形图片--自定义控件
- iOS之带有边框的圆形图片裁剪
- 圆形头像图片,带白色边框
- Android Glide加载圆形图片,设置白色边框
- 自定义控件第一批(列表选择,圆形图片,条形控件,短视频录制控件)
- 裁剪圆形图片的自定义控件