云炬Android开发笔记 5-5,6Loading框架集成与完善AVLoadingIndicatorView
3.1 第三方框架的效果
【地址】https://github.com/81813780/AVLoadingIndicatorView
【说明】在该地址中已经存在怎样使用的步骤;
3.2 集成封装获取某种类型的View
【添加依赖】
【说明】各种的效果的获取使用过的是反射的技术,但是反复使用反射会影响设备的性能;因此做了一个机制的封装;
【原理】以一种缓存的方式创建loader,不需要每次使用loader的时候进行反射,这样性能会有很大幅度的提高。
3.3 不同的style的枚举的封装
【对不同的类型进行封装】com.flj.latte.ui.loader.LoaderStyle
1 package com.flj.latte.ui.loader;2 3 4 @SuppressWarnings("unused")5 public enum LoaderStyle {6 BallPulseIndicator,7 BallGridPulseIndicator,8 BallClipRotateIndicator,9 BallClipRotatePulseIndicator, 10 SquareSpinIndicator, 11 BallClipRotateMultipleIndicator, 12 BallPulseRiseIndicator, 13 BallRotateIndicator, 14 CubeTransitionIndicator, 15 BallZigZagIndicator, 16 BallZigZagDeflectIndicator, 17 BallTrianglePathIndicator, 18 BallScaleIndicator, 19 LineScaleIndicator, 20 LineScalePartyIndicator, 21 BallScaleMultipleIndicator, 22 BallPulseSyncIndicator, 23 BallBeatIndicator, 24 LineScalePulseOutIndicator, 25 LineScalePulseOutRapidIndicator, 26 BallScaleRippleIndicator, 27 BallScaleRippleMultipleIndicator, 28 BallSpinFadeLoaderIndicator, 29 LineSpinFadeLoaderIndicator, 30 TriangleSkewSpinIndicator, 31 PacmanIndicator, 32 BallGridBeatIndicator, 33 SemiCircleSpinIndicator, 34 CustomIndicator 35 }3.4 对传入的样式/参数封装
【样式的封装】需要封装是否需要透明度、颜色等值的传入;
【传入样式参数并作为根布局】
3.5 工具类-填充参数的设置
【工具类】新建工具类的权限一般 放为:public static;
3.6 继续完善类
【设置缩放比例】为了适应 不同的设备的屏幕的不同的大小,需要对加载的loader进行缩放
【创建集合,统一管理不同类型的loader】【学习思想】在不需要loaders的时候,只要遍历集合,一一的关闭loaders即可;
【提供默认的loaders样式】
【关闭和显示对话框的loader】
【说明】此处使用的dialog.cancle(),因为在关闭dialog之后会调用onCancle()方法,可以响应在关闭对话框之后的一些动作;
dialog.dismiss():直接关闭对话框,没有响应;
回到顶部
3.7 网络请求中加入loader
【client】
【builder】
【说明】handler声明的时候加关键字static;可以避免内存泄露;
【测试】
【增加失败时候关闭loader】
总结
以上是生活随笔为你收集整理的云炬Android开发笔记 5-5,6Loading框架集成与完善AVLoadingIndicatorView的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 云炬Android开发笔记 5-3,4
- 下一篇: 云炬Android开发笔记 5-7网络框