override fun onDraw(canvas: Canvas) { super.onDraw(canvas) // 定义一个矩形区域,左上角坐标为 (50, 50),宽度为 100,高度为 100 val rect = Rect(50, 50, 50 + 100, 50 + 100) canvas.clipRect(rect) // 使用 clipRect 进行裁剪 // 在裁剪区域内绘制一个圆形,这
方法一:自定义View 在Kotlin中实现圆角的AppCompatImageView可以通过自定义控件和使用Canvas和Path进行剪裁来实现。下面是一个简单的实现方法,继承AppCompatImageView并自定义绘制方法,使其可以设置圆角属性。 自定义 AppCompatImageView 首先,创建一个自定义的AppCompatImageView类: 代码语言:javascript 代码运行次数:0 运行 ...
然后,我们创建一个临时canvas用来缓存主canvas上的历史图像,设置主canvas的透明度context.globalAlpha=0.95(关键一步),在每次调用drawCircle方法绘制一个新圆之前都把主canvas上的图像,也就是之前的图像给绘制到临时的canvas中,等到drawCircle方法绘制完新圆后,再把临时canvas的图像绘制回主canvas中。 核心代码如下: //...
Canvas 自身坐标系 有一个很重要的作用 就是 确定画布范围 , 之后所有的绘制内容只能显示这个画布范围内的元素 , 画出边界的元素是不显示的 ; 如下图 , 蓝色矩形框是 Canvas 自身坐标系 , 红色矩形框是 Canvas 绘图坐标系 , 两个坐标系重合部分 绿色矩形框 就是显示的部分 , 红色矩形框范围绘制的内容不显示...
在Kotlin 中实现圆角的AppCompatImageView可以通过自定义控件和使用Canvas和Path进行剪裁来实现。下面是一个简单的实现方法,继承AppCompatImageView并自定义绘制方法,使其可以设置圆角属性。 自定义 AppCompatImageView 首先,创建一个自定义的AppCompatImageView类: ...
void paint(Canvas canvas, Size size) { //定义矩形的宽高 final rectWidth = width, rectHeight = height; //圆角。必要的话可以将其作为变量传进来 final radius = 10.0; //定义矩形的位置和尺寸 Rect rect = Offset( size.width / 2 - rectWidth / 2, size.height / 2 - rectHeight / 2) & ...
Drawing to a Canvas gives you full control of drawing shapes or bitmaps than drawing on to a View object in a layout.
kotlin 写弹框 命令式UI、声明式UI 自定义弹框视图 富文本样式 SpannableStringBuilder 扩展函数 典型的弹框场景功能分析顶部Logo遮盖效果,使用相对布局或约束布局都很好实现 描述信息的富文本样式,不会的可以来这儿 - String富文本de多种样式 操作按钮,自定义 shape 即可实现...
使用Kotlin开发Android应用(7) - 自定义控件 Define a Custom Widget in Android App 在Android应用中定义个自定义控件 1. 使用XML自定义视图/控件 一个简单的例子,自定义单元条 CellBar 1、xml布局如下: <androidx.constraintlayout.widget.ConstraintLayout...
既然说 Flutter 和 Compose 就不得不说 Dart 和Kotlin ,同样是 StackOverFlow 的数据,可以看到虽然他们发布都有一段时间了,但是其实是在 2017 年开始它们的占有率才出现了爆发式的上升,这是为什么呢? 其实这个现象和 2017 Google I/O 大会有直接关系: Kotlin 是 2012 年开源的,而 2017 Google I/O 大会上官...