android select下拉列表_一个令人惊艳的玩 Android 客户端
上个周六休假,日常审核 wanandroid 上的项目,直至看到了该项目:
https://github.com/phoenixsky/fun_android_flutter
先下载 apk 体验一下再说,不夸张的说,用起来非常舒服,一些效果做的非常棒。
下面让我来举例:
全局的色调切换,这个颜色切换非常顺畅:
全局字体修改:
这个下拉效果是我一开始没注意到的,大力下拉一次发现,感觉效果非常赞。
PS:我已经找小缘抽空研究下这个效果了,目测后续的招式会有类似的效果。
列表 loading,顶部还提供了一个下拉列表用于选择:
点赞动效:
开源地址:
https://github.com/phoenixsky/fun_android_flutter
apk下载地址:
https://www.wanandroid.com/blogimgs/16ddfae2-552d-4f14-ae53-7c3269222ed9.apk
https://github.com/phoenixsky/fun_android_flutter/releases/download/0.1.1/FunAndroid_0.1.1.apk
好了,这个项目其实是用 Flutter 写的,可以看到丝滑程度原来没有感受出来和原生的差异。
而且作者在 readme 中说明后续将写大量博客,用来写该项目用到的技术与遇到的问题,感觉一个优秀的专题即将诞生。
2 相关技术介绍技术相关介绍,我就以作者自己描述为准啦,这里能找到什么?
1. Provider状态管理的最佳实践,虽然Google很早就废弃了Provide,宣布Provider为推荐的状态管理工具,可是在开发中,我们总是会遇到很多问题
比如Provider的几个衍生类在具体的业务中应该怎么使用?
页面最初需要的数据什么时候进行初始化,在哪里初始化。
如何将页面的几个常用状态loading、error、empty、idle、unAuthorized进行组合使用。
常用的下拉刷新,上拉加载更多应如何服用才能效果更佳
Widget在dispose后,model不再notify()。
2.清晰的代码结构。
让页面归页面,让业务归业务,所有的业务逻辑都在view_model中,Widget只关注页面本身。
3. 不要再满屏幕的setState()。
同一页面内可以利用Flutter框架给我们提供的各种XxxBuilder,来局部刷新。
多层嵌套可使用前边提到的Provider。
当然颗粒度足够细的Widget,还是要使用setState()。eg: ChangeLogPage中的ChangeLogView 功能单一,刷新不会影响别的widget。
4. 实现了App的基础功能,可copy当作模板代码快速开发
主题切换
夜间模式切换
字体切换
漂亮的骨架屏
利用IDE插件i18n进行国际化
Dio结合Cookjar,实现玩Android的登录功能
AnimationList结合SmartRefresh的常规数据加载
5. 当然还有WanAndroid本身也有不错的内容,每日闲暇时,可以读一读。
3 一些感受从开源 wanandroid客户端的数量以及质量来看,真的是超出我个人想象的,我手机上装了很多个开源版本,从 UI 设计、用户体验、功能完善度都远超我的预期,我甚至觉得开放玩 Android 的全部内容数据是我做的最正确的一个决定。
后面我会按照各种技术的分类分别推荐一个开源的项目给大家,例如按照:MVP ,MVVM,JetPack,Kotlin, Flutter,小程序等。
比较开心的是,从这位作者的 readme 看到了这个原生的 wanandroid 项目:
https://github.com/goweii/WanAndroid
作者做这样一个开源项目目的竟然是经常在地铁上阅读,很开心,瞬间感觉网站被认可:
开发初期主要是为了试水一些自己开发的开源框架,但是后面发现本人对这个APP的使用频率还是挺高的,在坐地铁的时候都会拿出来刷一刷文章。所以决定把这个APP做好看,做好用,不至于影响刷文章的心情。
好了,周五了,大家都开心一点吧,一篇轻松的文章,祝你们周末愉快~~
最后,如果你使用过 wanandroid.com,可以谈谈感受和对它的期望,下周会写一篇介绍网站最近的更新以及自己做的一件蠢事。
推荐阅读:
MontionLayout:打开动画新世界大门 HTTP 的架构设计和一些优化的技巧Android 值得深入思考面试问答分享 | 5扫一扫 关注我的公众号
如果你想要跟大家分享你的文章,欢迎投稿~
┏(^0^)┛明天见!