原创 繞太陽三維旋轉動效

先來看下效果圖: 這個動畫的最終效果是支持修改的,比如外圍旋轉動畫在中間停留的時間,外圍動畫每一次旋轉的時間,是否需要中間的太陽,太陽旋轉一圈所需要的時間都是可以進行設置的,同時支持點擊事件,點擊事件分爲三種,一是點擊中間的太陽

原创 RecyclerView(五):SnapHelper對慣性滑動的作用說明

概述 SnapHelper可以看做是RecyclerView慣性滑動的一個輔助類,可以幫我們做一些慣性滑動時和滑動後的一些處理,所以對於一些慣性滑動的操作處理就可以優先考慮使用這個類,可以處理的點可以歸納爲以下三點: 可以監聽到

原创 RecyclerView(一):預取機制

什麼是預取 預取就是界面沒有展示出來的元素,是下一個即將要展示出來的元素,比如界面展示的是10條目,那麼當你滑動的時候,那麼即將展示的將是第11個(還沒顯示出來),這時候RecyclerView就會提前將需要展示的第一個元素緩存到

原创 Android性能優化之耗時方法

應用做完後,有時候會發現應用比較卡或是反應比較慢,這時候就得去排查是什麼原因導致的響應慢,我們的第一反應就是哪個函數執行是比較耗時的,那該怎麼去排查耗時函數呢,在可能耗時的函數裏答應執行時間麼,那這個工作量就有點大了,也不利於維護

原创 android仿地鐵行進線路圖

在坐地鐵的時候,能看到有些地鐵上是有地鐵行進動畫和站點到達動畫的,最近在做項目的時候,就有一個類似這樣的需求,不同的是展示的點有限制,多出來的點是需要是折貼起來的,當需要展示時再拉出來,大致動畫如下: 看到這樣一個動畫,你有什麼

原创 Arouter原理詳解

對於組件化這個東西這裏就不進行講解了,組件化本身的目的是爲了解耦,各個組件負責各自的功能,然後把各個組件組合起來就是一個完整的項目了,組合起來的時候,就會涉及到組件間的通訊問題,比如這個module的Activity調用另外一個m

原创 android插件化相關hook及資源加載

概述 這篇文章主要講述的有以下幾點: 如何hook系統中的一些類,以達到我們想要實現的功能; 如何去加載插件中的class文件; 如何去加載插件中的資源; 要了解插件化,對這幾個點是必須要知道的,插件化也是在這幾個點的基礎上逐漸

原创 android架構組件之paging源碼解析

RecyclerView使用paging就是多了對數據的拉取,使得RecyclerView的數據和顯示更加的解耦,RecyclerView對paging的使用多瞭如下幾步: instance = CustomAdapte

原创 android架構組件之paging如何優雅實現加載提示

在使用paging的過程中,使用起來是很方便,但也發現一些問題,比如往下滑的時候,沒有加載的提示(數據正在加載中),這個時候就需要我們去處理了,數據加載可能是成功了,可能是失敗了,也可能是全部加載完成了,加載過程中還有加載的結果都是需要一

原创 RecyclerView(六):ItemTouchHelper如何實現拖拽和側滑刪除

概述 對於RecyclerView子項的滑動或是對item進行裝飾前面都已經提到過了,現在就來說說對item的拖拽進行排序和側滑刪除該如何實現,對於這樣的功能,RecyclerView是沒有直接給我們提供api的,不過提供了工具類方便

原创 RecyclerView(五):SnapHelper作用說明

概述 SnapHelper可以看做是RecyclerView慣性滑動的一個輔助類,可以幫我們做一些慣性滑動時和滑動後的一些處理,所以對於一些慣性滑動的操作處理就可以優先考慮使用這個類,可以處理的點可以歸納爲以下三點: 可以監聽到滑動

原创 RecyclerView(四):ItemDecoration的方法說明和實現原理

ItemDecoration是對item進行裝飾的一個抽象類,只要實現它對應的方法就可以實現對應的功能,先來看下這個類: public abstract static class ItemDecoration { // 在on

原创 RecyclerView(三):LayoutManager職責及相關方法

概述 在RecyclerView之前,對於線性佈局和網格佈局用的基本上是ListView和GridView,到RecyclerView,就不需要這麼麻煩了,RecyclerView對於職責劃分的很明確,佈局相關的就只需要LayoutM

原创 RecyclerView(二):緩存實現原理

概述 在說緩存之前,有必要先來了解下RecyclerView的幾個內部類: Adapter: 負責準備數據; 負責創建View; 負責將數據綁定到View; ViewHolder: 對View進行包裝,裏面包含了View的一些狀

原创 RecyclerView預取機制(一)

什麼是預取 預取就是界面沒有展示出來的元素,是下一個即將要展示出來的元素,比如界面展示的是10條目,那麼當你滑動的時候,那麼即將展示的將是第11個(還沒顯示出來),這時候RecyclerView就會提前將需要展示的第一個元素緩存到mC