原创 HandlerThread類的使用和分析

概述 HandlerThread繼承自Thread類,本質上還是Thread。與普通Thread的區別在於,它在創建一個線程的同時也創建了一個綁定該線程的消息循環,可以在當前線程中分發和處理消息。 Handy class for star

原创 補間動畫詳解四 平移動畫TranslateAnimation

TranslateAnimation是平移動畫的類,負責View的位移。 TranslateAnimation類官方文檔:https://developer.android.com/reference/android/view/anima

原创 設計模式之裝飾者模式

概述 裝飾者模式是在不必改變原類文件和使用繼承的情況下,動態地擴展一個對象的功能。它是通過創建一個包裝對象,也就是裝飾來包裹真實的對象。 特點 (1).裝飾者和被裝飾者對象有相同的超類型。 (2).你可以用一個或多個裝飾者包裝一個對象。

原创 使用ZXing掃描和生成二維碼

ZXing是一個可以生成和解析多種格式的1D/2D條形碼的開源類庫,採用Java實現。Android和JavaSE可以集成使用。 示例運行效果如下: 網上流傳的關於ZXing的代碼庫很多,但幾乎都是很老的版本了。而ZXing一直在更新和

原创 補間動畫詳解三 旋轉動畫RotateAnimation

RotateAnimation是旋轉動畫的類,用於控制View的旋轉動作。 RotateAnimation類官方文檔:https://developer.android.com/reference/android/view/animati

原创 補間動畫詳解一 基類Animation

補間動畫(Tween animation)是通過在兩個關鍵幀之間補充漸變的動畫效果來實現的。 Android系統提供了四個補間動畫的類,分別是AlphaAnimation、RotateAnimation、ScaleAnimation和Tr

原创 性能優化之佈局優化篇一 使用ViewStub視圖

一、概述 ViewStub是一個不顯示且不佔用佈局空間的視圖。ViewStub需要指定一個佈局layout,在ViewStub初始化時,其指定的layout並未初始化。只有當ViewStub的setVisibility(VISIBLE/I

原创 管理狀態欄和導航欄

系統欄(system bar)是用來顯示通知、設備狀態和導航的屏幕區域。一般來說,系統欄(system bar)包括狀態欄(status bar)和

原创 設計模式之模板方法模式

定義:模板方法模式在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變算法結構的情況下,重新定義算法中的某些步驟。

原创 性能優化之佈局優化篇二 使用標籤

一、概述 在xml佈局文件中,多餘的佈局節點和嵌套會導致解析變慢。使用<merge>標籤可以減少視圖層級的嵌套,達到佈局優化的效果。 什麼情況下需要考慮使用Merge標籤呢? 1.一個佈局文件需要被添加到另一個父佈局中(可以在xml中使用

原创 使用VerticalBannerView實現垂直輪播廣告(仿淘寶頭條)

VerticalBannerView是一個仿淘寶APP首頁輪播頭條的自定義控件。 特性: 1.可自由定義展示的內容。 2.使用方式類似ListVie

原创 逐幀動畫詳解

概述逐幀動畫(Frame Animation),是通過將一系列圖片按照一定的順序展示實現的動畫。同是視圖動畫(View Animation),在使用

原创 補間動畫詳解二 漸變動畫AlphaAnimation

AlphaAnimation通過修改alpha屬性,改變View的透明度,達到漸變的動畫效果。 AlphaAnimation類官方文檔:https://developer.android.com/reference/android/vie

原创 開源項目ToggleButton源碼分析

ToggleButton是一個開關按鈕。該項目未使用圖片,使用繪製View的方式實現,且附帶彈性效果。 運行效果圖: 項目地址:https://github.com/zcweng/ToggleButton 實現原理: 按鈕由分四部分繪製

原创 補間動畫詳解五 縮放動畫ScaleAnimation

ScaleAnimation是尺寸變化動畫的類,控制View的尺寸變化。 ScaleAnimation類官方文檔:https://developer.android.com/reference/android/view/animation