原创 Android 開源框架Glide應用(二)_佔位&動畫&Gif

在APP顯示圖片時,擁有一個良好的體驗是非常重要的,即圖片不會突兀的出現,同樣在出錯時,需要有明顯的提示,對於這些Glide都提供了接口,幫你去提升APP的體驗。 佔位圖片:.placeholder 只需要調用.placehol

原创 使用CardView實現圓角或圓形的效果

前言 CardView是Android 5.0 中一種全新的控件,可以實現圓角和陰影效果。 添加依賴 compile ‘com.android.support:cardview-v7:23.4.0’ 開始使用 CardView是一

原创 Gradle for Android應用

概述 我們都已經知道Gradle是基於JVM的一種構建工具。它是基於Groovy語言的聲明式構建,還支持java,C,C++等項目。我們在進行Android開發時,需要在Android Studio中對build.gradle文件

原创 源碼分析setContentView加載佈局文件的過程

我們都知道通過setContentView方法將xml佈局文件加載到Activity中,然後屏幕才能顯示出xml中定義的view。在整個過程中,無須做太多的操作,屏幕就能顯示出正常的內容。現在我們從源碼的角度來看看系統到底幫我們處

原创 再一次擼Handler、Looper、Message源碼

從事Android開發的人,一定對Handler非常熟悉。Handler是一套消息處理機制,允許你發送,處理消息來實現線程間的通訊。每個Handler實例與一個線程和該線程的消息隊列關聯。當你創建一個Handler時,它會綁定到創

原创 當FragmentTransaction在add和replace時,它們之間的區別

前言 我們在使用FragmentTransaction的時候,經常會遇到add,replace這兩個方法。 如下: FragmentManager fragmentManager = getSupportFrag

原创 ImageView 繪製圓角效果_BitmapShader

前言 之前我們已經提到過,我們可以使用兩種方式來實現圓角圖片的效果。一種是使用Xfermode,另一種是BitmapShader來實現。下面我將介紹BitmapShader用法。 使用BitmapShader的方式實現 1.自定義

原创 計算全屏幕/狀態欄/導航欄的高度工具類

import android.content.Context; import android.content.res.Resources; import android.util.DisplayMetrics; import an

原创 Android 應用啓動時優化白屏問題

一般情況下 我們在啓動APP的時候,屏幕會出現一段時間的白屏或者黑屏,不同的設備可能白屏黑屏顯示的時間長短不同,設備硬件較差的時間都會比較長,這顯然影響用戶體驗。現在我們來分析這個問題產生的原因。 當我們在啓動一個應用時,系統會

原创 判斷Android app退後臺、進前臺

在某些特定的場景下,我們需要判斷App是否進入後臺運行狀態。然後根據App處在前臺/後臺分別進行不同的操作行爲。我們可以通過Activity的生命週期來,實現這一需求。 關於生命週期,我們可以分類爲三個類別: 1:entire

原创 ImageView 繪製圓角效果_Xfermode

前言 Android 開發中,我們經常需要實現圖片的圓形/圓角的效果,我們可以使用兩種方式來實現這樣的效果。一種是使用Xfermode,另一種是BitmapShader來實現。下面我將分別介紹這兩種用法。 使用Xfermode的方

原创 Android中Service和Thread區別

在工作中,有時會被人問到,Android中的Service和Thread有什麼區別,爲什麼有時放着方便的Thread不用,而去使用Service呢? 首先,要說明的是,進程是系統中最小的資源分配單位,而線程是最小的執行單位,線程

原创 Fragment的填坑之旅

前言 目前主流的應用中,多是採用單Actvity多Fragment的方式實現的。隨着應用功能越來越多,界面越來越複雜,我們會利用Fragment對Activity的界面進行模塊化編程。Fragment有着種種優點吸引着我們,如比A

原创 Android 開源框架Glide應用(一)

前言介紹 谷歌在2014開發者論壇上,爲我們介紹了一個名叫Glide的圖片加載庫,這個庫被廣泛的運用在Google的開源項目中。 Glide是Android中的一個快速和高效的開源媒體管理,圖片加載框架。它封裝了媒體解碼,內存和

原创 ImageView的圓角或圓形使用原生support v4中的RoundedBitmapDrawable實現

前言 之前曾使用Xfermode和BitmapShader實現了ImageView的圓角/圓形的效果。後來無意中在support v4包中,發現了一個類:RoundedBitmapDrawable。原來Google已經提供了直接實