- 博客(115)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 46. 用Compose web写了一个简易微信界面
使用kotlin Multiplatform web完成 ,只是想感受一下比现在流行的vue书写UI的差距。
2023-05-10 11:28:29 268
原创 44. Compose写代码 引入依赖无关选择项太多?codeInsightSettings帮你
Compose编码遇到的导包项太多的问题 需要加入配置。
2023-03-31 10:17:49 157
原创 42. Compose1.4 如何在Jetpack Compose中为文本应用描边效果(OpenAi翻译)
使用Compose 1.4的drawStyle实现各种跑马灯效果
2023-03-24 09:58:38 636
原创 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 371
原创 36. Compose官方的LazyVerticalStaggeredGrid终于出来了
官方的LazyVerticalStaggeredGrid 瀑布流的使用
2022-10-13 09:39:47 1070 1
原创 29. Compose实现瀑布流 StaggeredGrid
简介在xml向Compose的迁移过程中遇到的问题,瀑布流没有官方的控件,但在官方的owl demo中看到了自定义的owl直接自定义操作的Layout,测量和分配位置,最外层要套一层滑动的Column有些第三方作者写的是利用两个LazyColumn经过改造达到目的现在体验的效果还是感觉官方的流畅一些,但也存在问题 列表大的时候可能会触发OOM ,下拉加载更多要自己想办法实现,不能结合paging来做附上我学习Compose的代码(demo中有三个实现方案)github创建数据图片的数据需
2022-04-28 10:37:50 983
原创 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 1302 4
原创 git 本次提交合并到上次提交信息上
#如果一个功能或者版本开发完了 已经提交了commit ,然后又更改了几个小地方或者#小bug,而不想生成新的提交信息,可以使用以下命令git add .git commit --amend --no-edit
2022-04-13 09:02:27 2401
原创 Kotlin forEach的continue 和break 如何写?
forEach的continue 和break 如何写 listOf(1, 2, 3, 4, 5).forEach { if (it == 3) return@forEach print("$it ") } println("\n") run breaking@{ listOf(1, 2, 3, 4, 5).forEach { if (it == 3) return@breaking p
2022-04-11 08:54:57 2513
原创 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 773
原创 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 715 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 2088
原创 Android夜间模式监听
夜间模式 override fun onConfigurationChanged(newConfig: Configuration) { val nightModeFlags = getContext().resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK when (nightModeFlags) { Configuration.UI
2022-01-24 22:27:20 2832
原创 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 583
原创 23. Compose 仿京东商品详情页面 3d全景图触摸旋转功能
探索这个功能的时候发现有几种实现方式,其效果也不太一样。用OpenGL 通过写GLSL文件来实现的,这种实现方式我本人认为最好,但是对Open GL的研究不是很多,也在学习的APP中嵌入了一个第三方库来实现了,感兴趣的可以去看 地址在这里 欢迎Start,这里面有我最近学习的Compose组件教程。使用多张图片来实现,京东的实现是在H5里面完成的,含有多个Webp图片(为了优化内存吧),通过触摸监听的方式来达到旋转的效果。我这里用Compose来实现。 地址在这里fun Goods3dImag
2022-01-06 16:02:51 474
原创 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 723
Genymotion 镜像文件+arm translation+谷歌服务
2017-02-24
Sublime Text3必备插件集合
2017-01-19
Mac上画简图工具(win上的画图工具)
2016-12-05
Android Compose 如何去掉DropdownMenu的默认背景色?
2021-10-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人