云炬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】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值