Android Compose
Android Compose的内容,涵盖UI的学习 小demo 动画等等。所有代码地址:https://github.com/Qdafengzi/ComposeDemo
会编程的猩猩
这个作者很懒,什么都没留下…
展开
-
Compose 跨页面发送消息使用Channel还是全局ViewModel好?
Compose跨页面传递消息 使用channel 还是ViewModel 呢?原创 2024-08-26 23:01:31 · 441 阅读 · 0 评论 -
Material3 ColorScheme参数详解
Material3 ColorScheme参数详解原创 2024-06-27 10:32:12 · 589 阅读 · 0 评论 -
50.Compose 导航栏的颜色
Android 最新改变状态栏颜色的方式原创 2024-04-17 22:59:20 · 538 阅读 · 0 评论 -
49. Compose自定义日历-3
Compose绘制日历 实现周历和月历的切换。原创 2023-07-06 11:02:50 · 352 阅读 · 0 评论 -
48. Compose自定义绘制日历-2
Compose UI 实现日历 ,模式切换。原创 2023-07-04 17:03:01 · 376 阅读 · 0 评论 -
47. Compose自定义绘制日历-1
有个日历的需求, 自己实现一下简单的。原创 2023-06-30 13:49:18 · 915 阅读 · 0 评论 -
46. 用Compose web写了一个简易微信界面
使用kotlin Multiplatform web完成 ,只是想感受一下比现在流行的vue书写UI的差距。原创 2023-05-10 11:28:29 · 342 阅读 · 0 评论 -
45. 我使用Compose做了一个JSON解析器桌面软件
Compose桌面软件 JSON解析器原创 2023-05-04 11:10:29 · 239 阅读 · 0 评论 -
41. 协程中的launch 和 async (OpenAI翻译)
主要讲述launch 和async的区别原创 2023-03-16 11:23:59 · 723 阅读 · 0 评论 -
42. Compose1.4 如何在Jetpack Compose中为文本应用描边效果(OpenAi翻译)
使用Compose 1.4的drawStyle实现各种跑马灯效果原创 2023-03-24 09:58:38 · 898 阅读 · 0 评论 -
44. Compose写代码 引入依赖无关选择项太多?codeInsightSettings帮你
Compose编码遇到的导包项太多的问题 需要加入配置。原创 2023-03-31 10:17:49 · 207 阅读 · 0 评论 -
43. BottomSheetScaffold崩溃记录
BottomSheetScaffold 崩溃问题原创 2023-03-28 10:42:13 · 173 阅读 · 0 评论 -
40. 介绍一个面向2023年的Android解耦的MVI方法(来自OpenAi翻译)
在不断发展的Android应用程序开发世界中,了解最新的趋势和方法是构建高质量、可维护、可扩展应用程序的关键。其中一个在最近几年中获得了显著流行的方法是将MVI (Model-View-Intent)架构模式与Clean Architecture原则相结合。虽然很多文章介绍如何在Android中实现MVI和Clean Architecture,但是本文采用了不同的方法。本文不是关注如何实现MVI方法,而是强调即使使用MVI和Clean Architecture也可能出现的问题。原创 2023-03-15 09:33:10 · 424 阅读 · 0 评论 -
39. Compose实现手机联系人界面
使用Compose Lazycolumn实现联系人 ,并且可以右侧快速定位到字母。原创 2023-02-14 10:08:57 · 623 阅读 · 0 评论 -
38.Compose动画参数(持续更新)
Compose动画相关内容原创 2023-02-14 09:26:23 · 109 阅读 · 0 评论 -
36. Compose官方的LazyVerticalStaggeredGrid终于出来了
官方的LazyVerticalStaggeredGrid 瀑布流的使用原创 2022-10-13 09:39:47 · 1313 阅读 · 1 评论 -
35. 我用Compose开发了一款音视频处理app
Compose 音视频app开发原创 2022-09-28 14:02:01 · 946 阅读 · 2 评论 -
34. Compose 投票动画
投票的动画原创 2022-08-24 14:41:05 · 173 阅读 · 0 评论 -
33. Compose封装基类 适配状态栏
compose状态栏的处理原创 2022-08-05 13:28:44 · 716 阅读 · 0 评论 -
32. Compose 优美的触摸动画
Compose 实现 触摸动画原创 2022-06-23 11:04:28 · 245 阅读 · 2 评论 -
31. Compose 滚动轮播
仿购物商城 滚动轮播购买 实时详情原创 2022-06-16 09:07:19 · 604 阅读 · 0 评论 -
30. Compose性能优化 (持续更新中)
Compose UI性能优化小知识点 长期更新原创 2022-06-14 19:54:49 · 1694 阅读 · 0 评论 -
29. Compose实现瀑布流 StaggeredGrid
简介在xml向Compose的迁移过程中遇到的问题,瀑布流没有官方的控件,但在官方的owl demo中看到了自定义的owl直接自定义操作的Layout,测量和分配位置,最外层要套一层滑动的Column有些第三方作者写的是利用两个LazyColumn经过改造达到目的现在体验的效果还是感觉官方的流畅一些,但也存在问题 列表大的时候可能会触发OOM ,下拉加载更多要自己想办法实现,不能结合paging来做附上我学习Compose的代码(demo中有三个实现方案)github创建数据图片的数据需原创 2022-04-28 10:37:50 · 1109 阅读 · 0 评论 -
28. Compose轮播图Banner 无限轮播 自动轮播
实现思路:使用的官方的HorizontalPager来创建一个比较大的集合,因为Horizontal Pager内部是LazyRom来实现的 不会造成内存问题首先引入依赖 def accompanist_version = '0.20.2' implementation "com.google.accompanist:accompanist-pager:${accompanist_version}" //不使用可以不依赖 implementation "com.google.a原创 2022-04-27 10:04:06 · 1621 阅读 · 4 评论 -
27. Compose快速点击防抖
很多场景都会处理快速点击事件的多次响应问题@Composablefun DebouncedClickable(navCtrl: NavHostController, title: String) { val clicked = remember { mutableStateOf(false) } CommonToolbar(navCtrl, title) { Box( modifier = Modifier原创 2022-03-25 16:47:48 · 978 阅读 · 0 评论 -
26. Compose 展示更多文字动画效果
内容用Box等包裹一下var expand by remember { mutableStateOf(false) } val endText = if (expand) " Less" else "...More" val minLine = 2 val text = "动画在现代移动应用中至关重要,其目的是实现自然流畅、易于理解的用户体验。许多 Jetpack Compose 动画 API 可以提供可组合函数,就像布局和其他界.原创 2022-03-22 15:05:36 · 806 阅读 · 2 评论 -
25. 加载中Loading-Compose仿制IOS效果 (菊花)
绘制利用生命周期控制 转圈圈 和倒计时还没研究好如何利用动画周期性的驱动绘制,后面再做优化。@Composablefun Loading( whiteBackground: Boolean = false, viewModel: LoadingViewModel = androidx.lifecycle.viewmodel.compose.viewModel(), lifecycleOwner: LifecycleOwner = LocalLifecycleOwne...原创 2022-03-01 22:51:05 · 2263 阅读 · 0 评论 -
24. Compose 点击事件bug记录 SystemUiController
发现问题:点击事件第一次不起作用发现系统:鸿蒙大部分机型界面为全屏的拍摄界面,使用了 SystemUiController导致问题发生解决去掉一下代码(Google的库Accompanist 0.19.0 有问题) val systemUiController: SystemUiController = rememberSystemUiController() systemUiController.isSystemBarsVisible = false // Status & Naviga原创 2022-01-10 09:55:39 · 647 阅读 · 0 评论 -
23. Compose 仿京东商品详情页面 3d全景图触摸旋转功能
探索这个功能的时候发现有几种实现方式,其效果也不太一样。用OpenGL 通过写GLSL文件来实现的,这种实现方式我本人认为最好,但是对Open GL的研究不是很多,也在学习的APP中嵌入了一个第三方库来实现了,感兴趣的可以去看 地址在这里 欢迎Start,这里面有我最近学习的Compose组件教程。使用多张图片来实现,京东的实现是在H5里面完成的,含有多个Webp图片(为了优化内存吧),通过触摸监听的方式来达到旋转的效果。我这里用Compose来实现。 地址在这里fun Goods3dImag原创 2022-01-06 16:02:51 · 533 阅读 · 0 评论 -
22 . Compose NestedScroll 向下滑动隐藏标题
val toolbarHeight = 48.dp val toolbarHeightPx = with(LocalDensity.current) { toolbarHeight.roundToPx().toFloat() } val toolbarOffsetHeightPx = remember { mutableStateOf(0f) } val nestedScrollConnection = remember { objec原创 2021-12-28 17:41:39 · 814 阅读 · 0 评论 -
21. TextField光标位置 和键盘事件
项目地址主要用到TextFieldValue 和键盘的监听达到键盘顶起来一部分布局的效果@RequiresApi(Build.VERSION_CODES.R)@ExperimentalComposeUiApi@Composablefun KeyboardPage(navCtrl: NavHostController, title: String) { val context = LocalContext.current WindowCompat.setDecorFitsSyst原创 2021-12-15 22:34:42 · 548 阅读 · 0 评论 -
19. Compose一些难用的控件(Dialog、TextField)
又爱又恨的Compose原创 2021-12-07 08:56:40 · 3518 阅读 · 0 评论 -
18. LazyColum 条目的增加和删除
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11. Compose 对于复杂界面的尝试12. C原创 2021-11-05 17:29:28 · 988 阅读 · 2 评论 -
17. Compose 时钟Clock的绘制
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11. Compose 对于复杂界面的尝试12. C原创 2021-10-16 10:35:02 · 429 阅读 · 0 评论 -
16. Compose 权限申请Permission
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11. Compose 对于复杂界面的尝试12. C原创 2021-10-14 17:35:48 · 946 阅读 · 0 评论 -
15.Compose 使用CameraX
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11. Compose 对于复杂界面的尝试12. C原创 2021-10-14 17:10:18 · 866 阅读 · 2 评论 -
14.Compose 之简易朋友圈列表
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11.Compose 对于复杂界面的尝试12.Com原创 2021-10-14 13:59:08 · 350 阅读 · 0 评论 -
13.Compose 之Compose代码插入xml布局
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11.Compose 对于复杂界面的尝试12.Com原创 2021-10-14 10:40:09 · 972 阅读 · 0 评论 -
12.Compose 之原生xml布局加入Compose代码
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11.Compose 对于复杂界面的尝试12.Com原创 2021-10-14 10:37:14 · 981 阅读 · 0 评论 -
11.Compose 对于复杂界面的尝试
01. Compose 可组合组件之Row And Column02. Compose 可组合组件之 属性 modifier03. Compose 可组合组件之Card 图片04. Compose 字体05. Compose State06. Compose SnackBar07. Compose List08. Compose ConstrainLayout09. Compose Button10. Compose CheckBox11.Compose 对于复杂界面的尝试列表里面嵌套原创 2021-10-14 10:32:51 · 623 阅读 · 0 评论