Drawable系列之-Drawable簡介

Drawable有很多種,它們都表示一種圖像的概念,但是它們又不全是圖片,通過顏色也可以構造出各式各樣的效果。在實際開發中,Drawable常被用來作爲View的背景使用。Drawable一般都是通過XML來定義的,當然我們也可以通過代碼來創建具體的Drawable對象。在Android的設計中,Drawable是一個抽象類,它是所有Drawable對象的基類,每個具體的Drawable都有它的子類,比如ShapeDrawable,BitmapDrawable等,Drawable的層次關係見下圖:

Drawable的內部寬/高這個參數比較重要,通過getIntrinsicWidth和getIntrinsicHeight這兩個方法獲取。但是並不是所有的Drawable都有內部寬/高,比如一張圖片所形成的Drawable,它的內部寬/高就是圖片的寬/高,但是一個顏色所形成的Drawable,它就沒有內部寬/高的概念。另外需要注意的是,Drawable的內部寬/高不等同於它的大小,一般來說,Drawable是沒有大小概念的,當用作View的背景時,Drawable會被拉伸至View的同等大小。

Drawable的分類

Drawable的種類繁多,常見的有BitmapDrawable,ShapeDrawable,LayerDrawable以及StateListDrawable等,後面的博客會分別介紹它們的使用細節。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章