圆角图片展示控件
来源:互联网 发布:电脑加速软件知乎 编辑:程序博客网 时间:2024/06/05 10:48
package com.xiaoniu.finance.widget;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.RectF;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.widget.ImageView;/** * 使用方式 * <com.xiaoniu.finance.widget.XNRoundRectImageView * android:id="@+id/image" * android:layout_width="250dp" * android:layout_height="80dp" * android:src="@drawable/lx2" * /> * <p> * 描述: 圆角图片控件 * 作者: 陈真 * 日期: 2017/11/10 */public class XNRoundRectImageView extends ImageView { private Paint paint; private int mRoundPx; public XNRoundRectImageView(Context context) { this(context, null); } public XNRoundRectImageView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public XNRoundRectImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); paint = new Paint(); } public void setImageRound(int roundPx){ this.mRoundPx = roundPx; this.invalidate(); } /** * 绘制圆角矩形图片 * * @author caizhiming */ @Override protected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if (null != drawable) { Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); Bitmap b = getRoundBitmap(bitmap, mRoundPx); 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 roundPx,一般设置成14 * @return Bitmap * @author caizhiming */ private Bitmap getRoundBitmap(Bitmap bitmap, int roundPx) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); int x = bitmap.getWidth(); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; }}
阅读全文
0 0
- 圆角图片展示控件
- 高级控件UIScrollView展示图片
- 怎么实现图片的圆角展示还有阴影展示
- Android Gallery画廊 图片展示控件
- GifView:Android动画GIF图片展示控件
- 实现点击 WebView 中的图片,调用原生控件展示图片
- xlistivew+数据展示+进入详情+圆角图片
- 分享:MagicBox - 展示一组图片的新控件
- Gallery:收集一些用于展示一组图片的javascript控件
- 模仿微信九宫格图片展示控件
- 图片展示
- 图片展示
- 图片展示
- 图片展示
- Android自定义控件显示多页图片展示效果并自动翻页适合广告展示
- Android 圆角图片控件
- Android图片圆角控件
- Image:介绍一些跟图片有关的控件,如图片展示特效,图片生产,图片保护等
- JQuery3.1.1源码解读(十八)【class】
- CPU架构-RISC
- itext通过pdf模板填充数据并调用打印机打印
- Unity如何判断手机是否安装某APP应用
- NAT介绍及iptables配置NAT的方法
- 圆角图片展示控件
- Jmeter使用之:高效组织接口自动化用例技巧
- 源码分析参考:Queue
- rem
- 3.shell脚本
- linux环境指令总结(针对服务器环境部署的指令)
- 对页面不能为空的检验,在输入框里面提示不能为空的封装
- 枚举实例教学
- UNION与UNION ALL的区别