首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义圆形图片控件

自定义圆形ImageView 圆形ImageView在头像显示用的比较普遍了,今天对于实现圆形ImageView做个总结; 主要思路是 重写 onDraw() ;方法有两个: 使用paint的Shader...(着色器)将图片印在一个圆的画板上 使用Bitmap创建一个空的Canvas(画板),在画板上画一个圆和显示的图片,paint图像混合模式显示 着色器 方式 不带边框 思路 将图片压缩到和控件的大小一致...加边框 有时候我们需要为头像加上一个圆的边框显得更好看一点,其实这个也很好实现,在绘制图片之前先绘制一个带有颜色的圆,根据边框的大小,将图片缩小一点,这样就将边框显示出来了。...创建 Bitmap 使用图片混合模式 将图片圆形交叉显示 private Bitmap getCircleBitmap(){ Drawable mDrawable = getDrawable...canvas.drawColor(Color.TRANSPARENT); //画一个圆形 和图像大小一致 paint.setColor

1.2K90
您找到你想要的搜索结果了吗?
是的
没有找到

自定义圆形图片

圆形图片相必是项目开发中也是不少用的一个知识点吧。...Paint会根据TileMode进行绘制位图 二、实现圆形图片步骤 首先,ImageView和ImageButton需要图片, 有两种生成圆形图片的方法 1、自定义View继承ImageView、ImageButton...// 参数为一个Bitmap 对象 那么我们这里实现方法为 自定义继承Drawable类 ,运用 imageView.setImageDrawable(); 设置圆形图片 实现步骤: 1、新建一个类继承...可以看出,生成的圆形图片坐标圆点为原图的中心点,而直径为原图长宽中较短的那一个的边的长度 --------------------------------------------------------...总结此方法的缺点: 1、该方法无法缩放原图,若原图宽高不一致,则显示效果不佳,无法正常显示出较长边的部分内容 2、圆形图片的效果有一定的损耗,效果不佳 适用于对图片精美度要求不高的需求使用 自定义View

1.9K80

Android自定义控件实现圆形进度CircleProgressBar

正好朋友需要这种效果,所以就忙里偷闲写了一个类似的、更加常见和适用范围更多的控件,效果如下图所示: ?...自定义上图所示效果的控件时,其实就是用Canvas绘制不同效果,比如渐变圆弧背景、圆周白色分割线、中间文字等,这篇博客也根据绘制的顺序依次阐述。...-onMeasure onMeasure是自定义控件的第一步,目的就是测量得到该控件应该占有的宽高尺寸。...因为控件是直接继承自View,所以不需要再处理onLayout方法,这也是自定义View的难度远小于自定义ViewGroup的原因,但继承ViewGroup也并不一定要重写onMeasure。...(自定义控件、Activity,布局文件)下载地址: Android圆形进度CircleProgressBar 以上就是本文的全部内容,希望对大家的学习有所帮助。

1K40

自定义控件圆形统计图表

今天来做一做自定义圆形统计图表,其实这个老早就做好了,只是今天项目不赶,我就把这个发出来。...(@ColorInt val color: Int, val progress: Float) 我们这里自定义一个类,构造参数,第一个为颜色,第二个则为对应的值, 我们在用canvas画的时候,会去遍历这个...,因为需要衔接起来画一个圆 } super.onDraw(canvas) } 这里有一个需要注意的地方,就是因为画出的是一个弧度,所以由于画笔的宽度,画出来的会有一半被控件宽度遮住...mHeight / 2 - mWidth / 2 + mWidth - strokeWidth / 2) } } 这段代码展示的是,在宽高不同的情况,计算不同的区域,能显示在控件的最中间...代码篇 这里贴出我的完整代码,其实就是一个类,只不过,因为是自定义View,保不齐下一次也用的上,所以这里做一个记录,github就不上传了,就一个kt文件,懒得搞了。

1.2K50

Android自定义View实现旋转的圆形图片

自定义View是android开发的一个重要技能,用android提供的2/3D绘制相关类可以实现非常多炫酷的效果,需要实打实的编程基础。...但是自定义View又是我的弱项,所以最近都在摸索、练习自定义View。今天我写了一个圆形图片,同时不断匀速旋转的RotateCircleImageView。...自定义View分四步。 一:自定义属性; 二:创建自定义View,在构造方法中拿到自定义属性; 三:重写onMeasure方法; 四:重写onDraw方法 先来个效果图 ?...getWidth() / 2 - image.getWidth() / 2, getHeight() / 2 - image.getWidth() / 2, paint);//绘制圆形图片...,(图片会被旋转) bitmapPaint.setXfermode(null); return bitmap;//这个bitmap在画布中被旋转,画圆,返回后就是一个圆形的bitmap

1.5K60

Qt编写自定义控件24-图片轮播控件

远超qwt集成的控件数量。 每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。...qwt的控件类环环相扣,高度耦合,想要使用其中一个控件,必须包含所有的代码。...每个控件都有一个对应的单独的包含该控件源码的DEMO,方便参考使用。同时还提供一个所有控件使用的集成的DEMO。 每个控件的源代码都有详细中文注释,都按照统一设计规范编写,方便学习自定义控件的编写。...集成自定义控件属性设计器,支持拖曳设计,所见即所得,支持导入导出xml格式。 自带activex控件demo,所有控件可以直接运行在ie浏览器中。...所有控件最后生成一个dll动态库文件,可以直接集成到qtcreator中拖曳设计使用。

1.9K10
领券