
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了通过GestureDetector、ScaleGestureDetector和自定义RotationGestureDetector实现多功能图片查看组件GestureImageView的方法。主要功能包括:双指缩放(控制缩放系数和范围)、拖动移动(监听滑动事件)、双击缩放(切换大小)和双指旋转(计算角度差)。核心通过Matrix的postScale、postTranslate和postR

本文介绍了如何利用Android的ColorMatrix实现图像亮度与饱和度的动态调整。通过自定义ColorMatrixImageView继承AppCompatImageView,结合ColorMatrix.setSaturation()和setScale()方法控制色彩参数,并使用ColorMatrixColorFilter实时更新效果。文中还展示了使用协程进行防抖处理优化性能,以及通过Seek

一个顶级扩展函数,负责将A实例中的变量值赋给对应的B中,后续有修改可以统一在这里处理;另外顶级函数也意味着可以在任意有需要的地方调用它,比如上述示例的1、 2处都可以调用这个扩展函数,从而达到复用的目的。其中A是从服务端获取数据后生成的,而UI界面层使用的是B。文章列举了一些比较实用的扩展函数,本文中也是扩展函数的一种使用,同样也是一种不错的选择。不得不说这种写法给人眼前一亮的感觉。

Flow数据流可以按顺序发送多个值,一个倒计时功能刚好符合这种场景,本文就尝试使用Flow来实现一个倒计时功能。
在`Kotlin`中,并不能直接通过`static`关键字来声明静态类,那么如何声明一个静态内部类呢?其实在`Kotlin`中,直接在一个类中声明另一个类,经过`Kotlin`编译器之后自动就是`static`静态内部类了。
Kotlin代码可以经过编译器转换成VM虚拟机能识别的字节码,所以Java与Kotlin可以互相进行调用。而由于Java与Kotlin语言特性的差异,当Java调用Kotlin代码时,可以在Kotlin代码中适当增加一些注解,从而更方便的调用Kotlin代码。

Kotlin中的委托机制是一种非常灵活的语言特性,它可以让我们将对象的某些属性或方法委托给其他对象来处理。常见的有类委托属性委托Kotlin | 10分钟搞定by委托机制。注:本文不再详细讲解委托机制是什么,如果还不了解什么是委托机制,可以点击上文中的链接学习。

文章目录DecorationBoxDecorationShapeDecorationFlutterLogoDecorationUnderlineTabIndicator源码引用DecorationDecoration是一个抽象类,用于背景装饰的描述。Decoration有4个具体的实现类,分别是:BoxDecorationShapeDecorationFlutterLogoDecorat...
设置内外边距,传统的View 体系中有padding和margin的区分,而在Compose中只有一个padding修饰符,根据不同的位置可以表示内、外边距。而如果改为使用fillMaxSize,则会被设置为父组件所允许的最大尺寸。对于border而言,在其前面的设置padding 可以认为是外边距,在其后面设置的 padding可以认为是内边距。上述示例中是一个综合示例,不仅使用了weight修

可以在不引入回调的情况下控制任何代码行的线程池,因此可以将其应用于非常小的函数,例如从数据库中读取数据或执行网络请求。来确保每个函数都是主线程安全的,这意味着,您可以从主线程调用每个函数。注:上面的协程启动方式并不推荐在项目中直接使用,因为生命周期比较长,如果没有主动关闭可能就会产生内存泄漏。,但是最终子协程中的异常还是在顶层的父协程种处理的,如果就想在子协程中处理异常呢?可见异常最终是在子协程中








