试着用compose去做这样一个可以进行富文本编辑的项目。compose渲染页面非常的快,像我手机这样装满了图片,打开我实现的相册,没有任何分相册的情况,下滑翻动完全不卡顿。
这样的带调色盘的富文本编辑功能也非常好实现,举例来说,由于compose所有的组件都是方法,所以我想做一个下面那种带滑块的条,我只需要在一个Box里面放上另一个Box。
另一个Box可以拖动就可以了。
再比如编辑的显示页面,完全不需要像以前一样考虑用什么布局,怎么刷新布局中的子控件。
而comoose的实现方式就是我的数据是两个list,一个用来存图片相关,一个用来存文字相关。然后我选择好了要添加的东西,就把数据添加到数组。之后更新livedata数据控制页面状态改变,我的页面就完全更新了。
并且我测试了一下,即使在页面上添加非常多的可拖动的box页面都不会卡顿。目前的demo还比较粗糙。也许还有很多代码并不是最好的写法。
关于compose的ui机制。我觉得完全可以直接从服务器来载入数据。控制应用的显示方式以及跳转逻辑。甚至根据数据去动态的生成ui。
源码已经上传到github https://github.com/roofroot/MyComposeTest 。有什么写的不好的地方,欢迎评论区留言。后面有空会持续更新这个项目
争取把它做成也给完整,美观的应用。