compose
文章平均质量分 81
李小白lt
kotlin yyds
展开
-
Compose State的各种转换
很简单,就一个方法但是也得注意,上面的方法是针对泛型的,如果只是基本数据类型,推荐使用相应的方法,在JVM上可以减少拆装箱带来的消耗1.使用 MutableState 的对象,通过控制 MutableState 对象的 value 属性来获取和设置值2.使用 MutableState 的解构声明,获取 value 和 setValue(高阶函数) 来使用可以看到其声明,value 和 setValue 就对应 component1 和 component2 方法3.使用属性代理。原创 2023-12-26 18:39:47 · 352 阅读 · 0 评论 -
Gradle同步任务一直不动问题(非网络情况)
最近更新ComposeViews的Kotlin和Compose版本时遇见一个问题,Gradle同步时始终会卡在一个位置,同步了一晚上也没用原创 2023-08-01 11:09:46 · 309 阅读 · 0 评论 -
解决Kotlin/Native报错:There is still an unbound symbol after generation of IR module <xxx>:
报错信息There is still an unbound symbol after generation of IR module :Unbound public symbol IrSimpleFunctionPublicSymbolImpl: xxx原创 2023-03-31 23:49:22 · 230 阅读 · 0 评论 -
Compose之跨平台Activity页面
我们可以使用Kotlin expect来关联Android的Activity和Desktop的Compose fun(或Window),写一个统一的类BaseComposeActivity这样BaseComposeActivity在Android中就映射为一个真正的Activity,而在Desktop中映射为一个Compose fun,方便我们进行页面导航原创 2023-01-31 14:28:23 · 1544 阅读 · 0 评论 -
Compose中的RefreshLayout
Compose库中是没有原生的类似RefreshLayout的布局的于是我们来自己实现一个RefreshLayout。原创 2022-09-29 22:24:00 · 1168 阅读 · 2 评论 -
分析Jetpack Compose动画内部是如何实现的
Compose的动画Api用起来很简单,效果看起来很神奇,那么它内部到底是如何运转的呢?我们去看看Jetpack Compose动画(animate)Api内部的实现原理我们主要就看一下animateDpAsState(animate*AsState)做了什么跟一下animateDpAsState最后会走进animateValueAsState方法中.........原创 2022-08-31 17:14:41 · 908 阅读 · 0 评论 -
Compose中的FlowLayout
Compose库中是没有原生的类似FlowLayout的布局的,于是我们来自己实现一个FlowLayout原创 2022-07-19 20:00:00 · 869 阅读 · 0 评论 -
Compose中的“ViewPager“和Banner
Compose中简单易用的"ViewPager"(ComposePager)和Banner原创 2022-07-19 11:05:43 · 1421 阅读 · 0 评论 -
Compose中更灵活易用的TextField以及密码输入框
JetpackCompose中的TextField简单用起来很方便,但如果要自定义ui就不好实现了,我们看一下效果TextField类似的还有OutlinedTextField他们都有共同的api和特点,简单使用很方便,但是其有很大的内边距不好调整,且其背景ui也不太好调整(背景可以改成透明,但间距我查看源码也没改成...)幸亏Compose中预留了基础的输入框实现没有边距,没有背景,很适合我们自定义ui,所以我就根据BasicTextField封装了一下,使ui更简单易用。...原创 2022-07-18 19:15:16 · 4048 阅读 · 2 评论 -
Compose-jb图片加载库load-the-image,适用于KMM Compose desktop桌面端(Windows,Linux,MacOs)
Android平台上有很多优秀的图片加载框架,比如Glide,Picasso,Fresco而Compose-jetpack上的图片加载框架有Coil但Compose-jb上却暂时没有图片加载框架,正好我有用Compose-jb写一些小工具,有图片加载的需求,于是就仿照Android平台的图片加载库写了一个具有简单功能的图片加载库项目已开源,地址: load-the-image (github.com) 欢迎star功能1.简单的支持多个桌面平台的图片加载(部分格式异步加载)2.支持多种格式:网络链接,本地文原创 2022-06-10 17:21:23 · 2046 阅读 · 4 评论 -
Compose实现状态选择器(原生drawable select标签效果) InteractionSource
前言在Compose中做drawable shape是很方便的,比如加个圆角,加个边框之类的,只需要如下:shape: Surface( shape = MaterialTheme.shapes.large, color = Color.Gray, modifier = Modifier.size(50.dp) ) { }原创 2022-04-28 17:25:13 · 3001 阅读 · 2 评论 -
KMM+Compose 开发一个Kotlin多平台应用
前言现在跨平台开发框架有很多,比如H5类型,RN,Flutter等,而Kotlin多平台+Compose跨平台ui可能也是未来一种好用的开发框架ps:后文KMM都是指Kotlin多平台框架,而不是单指Kotlin Multiplatform Mobile虽然目前KMM还有些不太成熟,Compose跨平台的支持平台不太全,单也不妨碍现在来尝尝鲜.ps:Compose-android正式,Compose-desktop正式,Compose-web未正式,Compose-ios期待中...项目原创 2022-03-15 21:45:00 · 7505 阅读 · 0 评论 -
Compose 手势事件:防止重复点击,双击,长按,全局触摸隐藏键盘
前言JetPack Compose (后续简称compose) release版已经出来了三四个月了,虽然没正式版之前也学过几次,但一直没有机会用,在加上api的变更,导致之前学的都忘完了,现在终于有机会写一点(将原有项目的简单页面用compose重写),发现了一些compose的优势和劣势:优势:1.超容易封装和组合,相对于原生自定义组合view,compose组合一个view简直不要太简单,只需要一个方法就能搞定,封装也更简便好用(组合vs继承)2.跨平台,目前kotlin的跨平台,co原创 2021-11-17 17:52:25 · 5443 阅读 · 2 评论