原创 AS無線真機調試

其實無線真機調試很簡單,無需插件,無需 Root,使用插件反而會將這個流程複雜化。控制檯使用 cmd 或者 AS 的 Terminal 均可,而且可以同時連接好幾臺設備,下面我就來走下連接流程。 第一步,必須保證我們電腦和手機都

原创 FlycoTabLayout 的使用

FlycoTabLayout 一個Android TabLayout庫,目前有3個TabLayout SlidingTabLayout:參照PagerSlidingTabStrip進行大量修改. 新增部分屬性 新增支持多種In

原创 Rxjava2.0教程(一)

RxJava的目的就是一個異步操作,在使用中不需要我們去開線程,不需要我們去管理線程,通過rxjava簡單的鏈式調用就能完成複雜的功能,代碼邏輯簡單,結構清晰,閱讀性極強。 要應用RxJava,需要在項目中引入依賴: io.react

原创 Andoird 自定義ViewGroup實現豎向Viewpager

Viewpager只能橫向滑動,如果是要豎向滑動呢,那麼立馬會想到ScrollView ,但是都知道ScrollView滑動並沒有判斷一頁一頁分屏滑動,今天來自定義一個ViewGroup實現這個功能。 先看效果: 佈局文件 <

原创 GuideView 引導庫的使用

GuideView 本系統能夠快速的爲一個Activity裏的任何一個View控件創建一個遮罩式的導航頁。源碼戳這裏 工作原理 首先它需要一個目標View或者它的id,我們通過findViewById來得到這個View,計算它

原创 android ViewGroup事件分發源碼解析

Android事件分發機制是Android開發者必須瞭解的基礎,也是面試的常客,今天來就這源碼走一下事件分發流程。 事件的基礎 MotionEvent 有三個關鍵的事件,其他事件用的較少: MotionEvent.ACTION

原创 史上最全greendao源碼解析

greendao 是目前很流行的一個數據庫,既然那麼流行,那麼多人用,我們就來看看它的實現的原理,它的優勢所在。 如果還不知道怎麼配置的,請看我的上一篇博客。 先不多說,上一個類的結構圖,一目瞭然: 這是greendao的使用

原创 android Palette 自動識別圖片顏色

使用android 自帶的Palette抽取Bitmap主色調 有時候爲了讓app ui 顏色格調一致,需要獲取圖片的主色調,設置爲Toolbar,標題,狀態欄的顏色等。 這個時候Palette 優勢就體現出來了。 先上一個效果圖

原创 rxjava2.0使用教程(二)

前面已經提到過一部分操作符,下面我們再看看其他操作符 distinct 發被觀察者列當中之前沒有發射過的數據,也就是去除重複的數據 Observable.just(1, 3, 4, 2, 1, 3)

原创 android View的事件分發源碼解析

前面提到過,在view中涉及到事件分發,有倆個方法dispatchTouchEvent和onTouchEvent現在來了解下view的分發流程。 現在事件從activity傳到viewgroup,再傳遞到view上面了,來看v

原创 WaterView 自定義圓形水波進度

這幾天不是很忙,完成了工作,利用閒暇的時間來完成一下以前不會玩的自定義動畫,自定義圓形水波進度,這個以前把我難死了,死活不會。都怪自己太菜了。那麼現在來看看到底難不難,真正最簡單的實現方法。 先來了解下path類的基本方法。 移動

原创 LrcView逐行歌詞

今天來談談歌詞控件的實現。大體思路 先解析歌詞,歌詞配合控件的寬高計算座標(歌詞必須顯示在行的中間),然後進行繪製onDraw,最後就是事件處理(歌詞 拖動)和歌詞隨着時間自動移動,這個相對比較麻煩點。 小二   先上個圖看看效果

原创 greendao3.2使用配置教程

首先在項目root目錄下build.gradle文件中配置如下:  buildscript { repositories { jcenter() }

原创 AIDL跨進程通信

Binder是android中進程通信的信使,是客戶端和服務端通信的媒介,當bindService的時候,服務端會返回一個binder對象,然後客戶端就可以根據binder操作服務端的數據。普通服務和aidl都是這麼完成的。今天就

原创 AndroidUtilCode 開源工具類

做個記錄,方便自己查閱 Gradle: compile 'com.blankj:utilcode:1.11.1' How to use // init it in the function of onCreate in ur Applic