一起来看看 Compose Accompanist

image.png

好久不见,真的挺久了,之前一个月写的文章比现在多半年的都多。今年第一篇文章是简单写了下 Android 14 的适配:Android 14 又来了?别扶!抬起我来吧!

今天咱们来一起看看 Compose Accompanist 吧!

什么是 Compose Accompanist

首先来看下官方的解释吧!

Accompanist is a group of libraries that aim to supplement Jetpack Compose with features that are commonly required by developers but not yet available.

很简单,Accompanist 是一组库,旨在为 Compose 提供开发人员通常需要但尚未可用的功能。

不得不说,Google 是挺会起名字的,Accompanist 翻译过来是伴奏者,那么谁是作曲者呢?显而易见 Compose 就是作曲者了!Compose 作曲,Accompanist 来伴奏,挺好!

光这样看这个库很好啊!帮助大家更好地使用 Compose ,但真的是这样么?咱们接着往下看:

Accompanist is a labs like environment for new Compose APIs. We use it to help fill known gaps in the Compose toolkit, experiment with new APIs and to gather insight into the development experience of developing a Compose library. The goal of these libraries is to upstream them into the official toolkit, at which point they will be deprecated and removed from Accompanist.

吓人不?有可能用着用着就废弃了。。。。不过也是一个好事,相当于这些需要使用的库都变为了正式版本,从这里废弃后就直接放到了 Compose 的库里了,就是咱们都不需要另外进行引用依赖了。

演奏中的曲子

好了,下面来看下 Accompanist 都怎么帮助 Compose 完成一部优秀曲子吧!

  • System UI Controller :方便大家对状态栏、导航栏的控制
  • AppCompat Theme Adapter :可以重用 AppCompat XML主题,用于在 Compose 中进行主题化
  • Material Theme Adapter :可以重用 Material 2 XML 主题,用于在 Compose 中进行主题化
  • Material 3 Theme Adapter :可以重用 Material 3 XML 主题,用于在 Compose 中进行主题化
  • Permissions :一个为Compose 提供运行时权限支持的库
  • Navigation-Material :为 Navigation 提供 Material 支持,例如 bottom sheets
  • Drawable Painter :提供了一种使用 Drawables 作为 Compose painter 的方法
  • Web :用于在 Compose 中支持基本的 WebView
  • Adaptive :为自适应布局提供实用程序集合的库
  • Test Harness :用于测试 Compose 布局的库

上面这些就是目前 Accompanist 还未废弃的库,其实也没剩几个了。。。

演奏完成的曲子

演奏中的曲子还在演奏,大家也还可以继续使用,接下来看下已经演奏完成的曲子吧!虽然已经演奏完成,但也可以用来学习他们演奏的手法及技巧!

  • Swipe to Refresh (Deprecated) :顾名思义,用于下拉刷新的库
  • Pager (Deprecated) :可以让大家在 Compose 中使用类似 ViewPager 的库
  • Flow Layouts (Deprecated):流布局
  • Navigation-Animation (Deprecated):为 Nagation 提供动画,比如淡入淡出、滑入滑出等等
  • Placeholder (Deprecated):用于在加载内容时显示占位符UI
  • Insets (Deprecated & Removed):使用 IME

其实演奏完成的库之前我都用过,还是挺好的,但是车轮总是向前走的,实验性的 API 肯定还是 Release 后更好!

Accompanist 的全部代码都放在了 Github 中,地址为:https://github.com/google/accompanist

大家可以去 Github 中下载代码学习学习,当然也可以在线看,Github 现在的在线预览代码还是很舒服的!

image-20230808135004567.png

演出完成

OK,今天的演出到这就结束了,准备写一个系列,把 Accompanist 中的库一个一个都说一说,聊一聊,还可以再聊一聊我之前使用过,但是现在已经废弃的库,现在应该如何迁移,或者说现在库废弃了应该如何使用这个功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/57558.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创意项目管理软件推荐:满足客户需求的完美解决方案

发现功能强大的工作管理软件,让创意大放异彩。将您团队的愿景变成引人注目的项目。 一、交付总是令人印象深刻的工作 Zoho Projects的创意项目管理软件可帮助您和您的团队在一个地方监督多个项目。使用我们的内置管理工具和模板,花更少的时间在管理上&a…

普及100Hz高刷+1ms响应 微星发布27寸显示器:仅售799元

不论办公还是游戏,高刷及低响应时间都很重要,微星现在推出了一款27寸显示器PRO MP273A, 售价只有799元,但支持100Hz高刷、1ms响应时间,还有FreeSync技术减少撕裂。 PRO MP273A的100Hz高刷新率是其最大的卖点之一&#…

[每周一更]-(第57期):用Docker、Docker-compose部署一个完整的前后端go+vue分离项目

文章目录 1.参考项目2.技能点3.GO的Dockerfile配置后端的结构如图Dockerfile先手动docker调试服务是否可以启动报错 4.Vue的Dockerfile配置前端的结构如图nginx_docker.confDockerfile构建 5.docker-compose 整合前后端docker-compose.yml错误记录(1)ip端…

macOS下Django环境搭建-docker运行Django

1. macOS升级pip /Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip 2. 卸载Python3.9.5版本 $ sudo rm -rf /usr/local/bin/python3 $ sudo rm -rf /usr/local/bin/pip3 $ sudo rm -rf /Library/Frameworks/Python.framework 3. 安装P…

Shiro是什么?为什么要用Shiro?

前言 本文小新为大家带来 Shiro入门概述 相关知识,具体内容包括Shiro是什么,为什么要用 Shiro,Shiro与Spring Security 的对比,Shiro的基本功能(包括:基本功能框架,功能简介)&#x…

【六袆 - 国际化】SpringBoot国际化Message

模拟场景校验请求参数 private void checkParam(List<ReqAppAdminDTO> req) {// 校验管理员如果已存在&#xff0c;则抛出已存在异常req.forEach(item -> {AppAdminDO appAdminDO appAdminMapper.selectByAppIdAndAdminNo(item.getAppId(), item.getAdminNo());if (O…

Jmeter命令行运行实例讲解

1. 简介 使用非 GUI 模式&#xff0c;即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法。 1.1. 命令介绍 jmeter -n -t <testplan filename> -l <listener filename> 示例&#xff1a; jmeter -n -t test…

跨境商城系统源码的优势,助力企业海外扩张

跨境电商发展背景与趋势 随着全球化的推进和互联网技术的快速发展&#xff0c;跨境电商已成为企业海外拓展的重要途径。然而&#xff0c;跨境电商面临着诸多挑战&#xff0c;如复杂的海外市场、文化差异、海关监管等。为了解决这些问题&#xff0c;企业可以借助跨境商城系统源码…

试图将更改推送到 GitHub,但是远程仓库已经包含了您本地没有的工作(可能是其他人提交的修改)

这通常是由于其他人或其他仓库推送到了相同的分支上&#xff0c;导致您的本地仓库和远程仓库之间存在冲突。 错误信息&#xff1a; To github.com:8upersaiyan/CKmuduo.git ! [rejected] main -> main (fetch first) error: failed to push some refs to github.com:8upers…

无涯教程-Perl - continue 语句函数

可以在 while 和 foreach 循环中使用continue语句。 continue - 语法 带有 while 循环的 continue 语句的语法如下- while(condition) {statement(s); } continue {statement(s); } 具有 foreach 循环的 continue 语句的语法如下- foreach $a (listA) {statement(s); } co…

SpringBoot集成百度人脸识别实现登陆注册功能Demo(二)

前言 上一篇SpringBoot集成百度人脸demo中我使用的是调用本机摄像头完成人脸注册&#xff0c;本次demo根据业务需求的不同我采用文件上传的方式实现人脸注册。 效果演示 首页 注册 后端响应数据&#xff1a; 登录 后端响应数据&#xff1a; 项目结构 后端代码实现 1、Bai…

2022 robocom 世界机器人开发者大赛-本科组(国赛)

RC-u1 智能红绿灯 题目描述&#xff1a; RC-u1 智能红绿灯 为了最大化通行效率同时照顾老年人穿行马路&#xff0c;在某养老社区前&#xff0c;某科技公司设置了一个智能红绿灯。 这个红绿灯是这样设计的&#xff1a; 路的两旁设置了一个按钮&#xff0c;老年人希望通行马路时会…