原创 對於流式佈局的研究和一點心得

流式佈局現在已經不是什麼新鮮的設計了,經常在各種列表展示文本框的時候可以看到,特別是應用於標籤類的。 其實可以將其看作會自動換行的線性佈局,根據內部的子控件所佔的實際大小重新進行排列。具體實現的思路如下:   1.自定義一個控件Flo

原创 USB驅動異常的解決辦法

        前幾天,因爲我的U盤出了些問題,用U盤量產工具修復,中間的過程比較坑爹,在使用完量產工具後悲催的發現:鼠標動不了了,U盤插入後也無響應,只能藉助觸摸板對電腦進行操作。         網上查閱相關資料後,發現原來是由於量產

原创 Material Design入門(上)

    Material Design是Google I/O 2014發佈推行的,旨在統一Android Mobile、Android Table、Desktop Chrome 等全平臺設計語言規範。具有比較濃重的程序感的設計風格,也在

原创 對事件分發的探討

        在開發中,我們經常要完成一些稍複雜的功能和交互。而這些交互往往不是觸發型的,僅僅用各種動畫是無法完成的,這時候就需要掌握View的一個核心知識:事件分發機制。這個比較重要也比較難,但實際上我們基本上每天都在直接或間接的

原创 View的繪製過程

1 測量 1.1 View的測量         通過查看源碼得知,在View中有一個measure方法,註釋寫的很清楚:系統在測量一個控件的大小的時候會調用該方法。而實際上measure方法內部調用的onMeasure方法纔是真正完成

原创 Material Design入門(下)

    除了Google官方提供的組件,Material Design另一個非常重要的特性是它的視圖效果,這些效果和官方的組件一起,爲安卓app的交互提供了更好的素材1.Elevation:高度      先介紹從Android L(5.

原创 Genymotion創建模擬器的正確姿勢

Genymotion模擬器大家應該都很熟悉了,啓動速度快,流暢,資源佔用低.但是由於衆所周知的”牆”的原因,有的時候在下載和添加模擬器的時候有些坑,需要我們去注意一下. 進入Genymotion官網,註冊,登錄,下載,安裝,這些都不細說

原创 安卓中短信驗證碼倒計時的幾種方式

發送短信驗證碼後,一般在界面上都會有一個倒計時的顯示.在安卓中,實現類似的倒計時有多種方式,當然背後的基本原理都是設定一個初始值,然後每過一定的間隔時間執行操作. 用安卓自帶的CountDownTimer實現 這是最簡潔的實現方式.安卓提

原创 反編譯實現夜間模式平滑換膚

日間模式和夜間模式的換皮膚在很早期的一些APP中就已經有實踐了。用過的衆多APP中,知乎的夜間模式換膚算是體驗感非常好的。兩年前反編譯知乎的app學習了人家的實現思路,效果不錯。當然最新版的知乎應用上線後也大面積進行了混淆,捋源碼會困難一

原创 AsyncTask的原理解析及使用缺陷

AsyncTask是Android從1.5引入的類,它內部做了比較完整的封裝。藉助它,我們可以很easy的在子線程進行耗時操作,在主線程處理結果,而不用操作Thread或者Handler。即使到目前,用AsyncTask做類似文件的上傳或

原创 利用DDMS中的TraceView檢測應用中的黑屏無響應問題

測試提的一個Bug:在app首次安裝後,從歡迎頁點擊跳過,接着出現了黑屏並且一直沒有響應.只能殺掉了進程,重新啓動後正常.也就是說應用出現了假死的現象,這是個很嚴重的問題,趕緊打開IDE調試: 排查原因 應用第一次啓動,歡迎頁加載是沒有問

原创 LruCache——解決OOM的利器

簡介 LruCache是Android 3.1的時候出現的,一般我們爲了兼容低版本會使用v4包下的。LruCache是一種緩存策略,持有的是強引用,但是會控制在一個峯值下。它內部維護了一個隊列,每當從中取出一個值時,該值就移動到隊列的頭部

原创 EventBus源碼解析

前言 EventBus是安卓(Java中也可以用)開發中非常流行的一個第三方庫,是一種發佈/訂閱事件的總線.擁有以下特性: * 簡化了組件間的通信,可應用與Activity,Fragment和後臺線程 * 將事件的發送方和接收方解耦

原创 安卓加載PDF文件的幾種方式

前段時間產品提了一個需求,在app內部加載PDF.ios平臺有WKWebView可以直接以html的方式加載,但是安卓沒有.查閱了相關資料,有以下幾種方式. 1.連接Google服務器解析 安卓的WebView不支持PDF解析,因此通過連

原创 App應用字體大小保持固定以及關於Configuration的變化

前言 安卓4.0之後系統設置->顯示裏面新增了字體大小設置的選項.看下你自己的安卓機,如果你將字體大小從小號一直增大到特大號,有沒有發現某些安裝的app裏面的字體大小也隨着變化了?這樣可能是便於了閱讀,但是app裏面本來能顯示完全的內容可