Drawable Resource
一個Drawable資源是繪圖中的一個普通概念,可以再螢幕上繪製出來。可以通過APIs中的getDrawable(int)方法檢索出來,也可以在其他的XML資源中通過android:drawable和android:icon等屬性使用它。Android中有多種不同類型的drawable。
Bitmap File:一個位元影像檔案(.png,.jpg,或.gif), 產生一個BitmapDrawable對象.
Nine-Patch File:就是一張可以基於自動適應內容大小而伸縮地區的png圖片(.9.png), 產生一個NinePatchDrawable對象
Layer List:這個Drawable用來管理一個其它多個drawable的數組.既然是一個數組,所以就不難理解索引值最大的元素將畫在最高部. 產生一個 LayerDrawable對象.
State List:這是一個xml檔案用於不同的狀態來引用不同的位元影像圖形(比如,當一個Button控制項按下狀態要顯示不同的映像).產生一個StateListDrawable對象.
Level List:一個xml檔案,定義了一個drawable可用於管理幾個可以替換的drawable.每一個都會分配一個最大的數值.產生一個LevelListDrawable.
Transition Drawable:一個xml檔案,定義了一個drawable可用於兩張圖片形成一個漸層的過渡效果產生一個TransitionDrawable對象
Inset Drawable:一個xml檔案,定義了一個drawable,跟據指定的距離插入到另一個drawable.當一個View<視圖>對象需要一張比其實際邊框要小的背景圖時,就可以用到這個了.
Clip Drawable:一個xml檔案,定義了一個drawable, 根據當前對準值作相應的展開處理,產生 ClipDrawable對象.
Scale Drawable:一個xml檔案,定義了一個drawable, 根據當前對準值作相應的平鋪處理,產生 ScaleDrawable對象.
Shape Drawable:就是通過一個xml檔案來定義一個包含顏色和漸層的幾何圖形, 產生一個 ShapeDrawable對象
AnimationDrawable:還可以建立一個AnimationDrawable對像.
Color Drawable:在xml中一個color resource<顏色資源>也可以作為一個drawable. 例如,建立一個state list drawable時,你可以為android:drawable屬性引用一個顏色資源(android:drawable="@color/green")
Drawable資源都是儲存在res/drawable目錄下的檔案,當然,在一個物件導向的語言中,它最終肯定也會變成一個對象。在Android中,Drawable類,代表這類資源。下面是Drawable和子類之間的繼承關係。
Drawable中幾個比較常用的靜態方法,可以從一個檔案中建立一個Drawable對象。