原创 RxAndroid切換線程是怎麼實現的呢?

1. 如何使用Rxjava 導入包 implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'io.reactivex.rxjava2:rxja

原创 Android中的線程池

Android中的線程池有哪些? FixedThreadPooll FixedThreadPooll通過以下方式創建 Executors.newFixedThreadPool(4); 它是一種線程數量固定的線程池,並且只有核心線程,

原创 自定義儀表盤形狀或者時鐘圖形

做這個之前需要了解canvas相關的四個方法: canvas.save();見名思議,就是將原有畫好的保存下來;後續的操作的話就會形成一個新的圖層。 canvas.restore();將兩個圖層的圖像合併,也不是太難理解。 canv

原创 多類型的RecyclerView

1.由於recyclerView沒有提供像Listview一樣的addheadView的方法,就需要我們自己設置head。 佈局很簡單上下兩個頭和腳佈局。內容寫了一些假數據。貼一下adapter中的代碼: public class

原创 自定義儀表盤形狀的View

寫到這裏已經寫了七篇的自定義View的文章,前段時間朋友讓幫忙繪製一個類似儀表盤形狀的View,先看整個View的形狀有兩個圓環,和一個弧,還有線狀的指針。 首先添加需要定義的屬性。 在values下新建一個attr文

原创 Jenkins+Gradle+Git實現安卓自動打包

公司長時間存在開發爲測試手動打包的情況,不僅影響平常開發的效率,也給我帶來了很多不必要的痛苦和麻煩,然後就在項目閒餘時間做了一個以jenkins爲基礎+gradle+git的自動化打包的平臺。先看下我的GUI界面 配置完環境之後一建

原创 自定義的ViewGroup的圖片瀏覽。

今天利用GestureDetector這個手勢類和Scroller滑動類寫一篇圖片的滑動瀏覽的ViewGroup。效果圖如下:獻上我最愛的小龍女。 對於View的滑動有幾種方式實現: onTouchEvent 可以實現View的

原创 清晰理解Service

Service的start和bind狀態有什麼區別? 啓動和關閉方式。 start的啓動方式start的啓動方式startService(),關閉方式則調用stopService()。 bind的啓動方式 bindService(int

原创 理解Java中的synchronized關鍵字

理解synchronized的含義 synchronized是實現java同步機制的鎖,線程進入同步代碼塊和方法是,會獲取該鎖,當結束同步代碼塊和方法時會釋放該鎖。當同步代碼塊和方法加鎖時,只允許一個線程對它進行訪問,另一個線程若想對它訪

原创 自定義水波紋的View

繼續使用PorterDuffXfermode的圖形混合模式,對於不瞭解圖形混合模式的,請移步愛哥的博客,愛哥關於圖形混合模式的講解然後加入了三次貝塞爾曲線。對於三次貝塞爾曲線不瞭解的自行百度吧。 對於PorterDuffXfermo

原创 使用PorterDuffXferMode實現自定義的圓角圖片

最近研究了下PorterDuffXferMode,也就是圖像混合模式。學習了愛哥的自定義View篇的這篇文章: 自定義控件其實很簡單1/6。主要學習了關於PorterDuffXfermode的這個部分。具體的關於PorterDuff