Jetpack Compose跨平台实践(一)(二)
(一)心路历程零、写在前面[本文AI含量为0] Jetpack Compose是一个在Android平台被大力推荐的声明式UI框架,正式版发布已经接近3年,记得刚在项目上接触Compose的时候还是beta版本,Compose的简单高效让我在开发工作中非常乐于探索不同的功能和特性。对于Jetpack Compose的跨平台支持特性我一直都有所关注,但是没有实际应用过,现在Compose已经达到了足够高的稳定性和易用性,我也在跨平台的Compose应用上做出了第一次实践。 在切 ...
Compose里如何提前测量View的Size?
最近遇到一个平平无奇的需求,但在实现的时候却遇到了不少问题,值得记录一下。 需求是这样的,在Compose Row中有两个文字Button,文字内容不同因此宽度也可能不同,如下: 想要实现的效果是两个Button的宽度一致,如下: Option 1:固定宽度看到这里可能有人会说了,这有什么难的,直接通过Modifier设置同样的宽度不就搞定了吗? Button(mo ...
给Compose官方修个小Bug
2022.09.11重要更新请见文末。Jetpack Compose在正式版本中提供了Navigation功能,但并不支持页面切换动画,生硬的页面过渡效果基本劝退了使用者。好在Google官方同时还在维护另外一个Accompanist支持库,这个库包括一些复杂Feature的Compose版本实现,在这些Feature迭代稳定之后,会直接集成到Compose核心Library中,比如Window Inset的控制,早期在Accompanist中就有实现,但在最新版本中已经标为 ...
在Android项目中使用GitHub Packages
在Android项目开发过程中,我们会使用各种第三方依赖包,其中大多数依赖包存放在maven仓库中。通过在Gradle中配置maven仓库,可以方便地管理和使用依赖。GitHub Packages也提供了maven仓库功能,对于一些常用的公共组件,可以选择发布到GitHub Packages,这样可以将源码和依赖包放在同一个Repository 下,管理起来更加便捷。 GitHub果然优秀,集SourceCode/Library/Page于一身,免费的一条 ...
记一次被骗经历
作为一名资深互联网接触者,怎么会被这种小把戏骗到呢? 其实是对这些诈骗手段早有耳闻,也看到过不少被骗和薅骗子羊毛的经历。 今天终于有机会体验一把:送到嘴边的鱼饵吃掉,鱼钩原样奉还。 本篇文章出现的QQ群、App等诈骗渠道和工具均为真实存在的且未打码,请勿以身犯险。 开端事情的开头是这样的,QQ邮箱的垃圾箱收到这么一封邮件,通篇内容看不明白,但在其中夹杂着一个QQ群号提示进群有佣金,不用多想大概率是刷单之类的诈骗群: ...
Compose Animation实践
作为移动端App来说,动画效果是页面切换和用户交互过程中不可缺少的一部分,优雅炫酷的动画可以提升App整体的质量,给用户带来赏心悦目的使用体验。Jetpack Compose作为Google官方最新推出的UI开发框架,可以极大地提高UI开发效率,对动画的支持也十分友好,此篇文章,我按照常见的动画场景作为分类,记录一下各种场景如何在Compose中实现。 Compose Animation Demo,包含了此文章所有示例代码。 场景一、View或Layout的外观属性变化 该场 ...