云炬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
- 下一篇: 这几张图告诉你程序员的变化,最后一张图扎