天天看點

Android應用程式資源——Drawable資源概述

Drawable資源概述

1,使用(drawable)資源

        Drawable有很多種,它們都表示一種圖像的概念,但是它們又不全是圖檔。

       在Android的設計中,Drawable是一個抽象類,它是所有Drawable對象的基類。

Drawable的内部寬/高:

       getIntrinsicWidth和getIntrinsicheight可以擷取到它們。

      并不是所有的Drawable都有内部寬/高,例如一張圖檔所形成的Drawable,它的内部寬/高就是圖檔的寬/高, 但是一個顔色所形成的Drawable是沒有内部寬/高的概念的。Drawable的内部寬/高不等同于它的大小,一般來說Drawable是沒有大小概念的,當用作View的背景時,Drawable會被拉伸至View的同等大小。

存放路徑

      /res/drawable/ 該目錄下存放各種位圖檔案(如*.png、*.9.png、*.jpg、*.gif)等,

除此之外可以編譯成各種的Drawable獨享的XML檔案:

              BitmapDrawable

              NinePatchDrawable

              ShapeDrawable

              LayerDrawable

              StateListDrawable

              LevelListDrawable

              TransitionDrawable

              InsetDrawable

              ScaleDrawable

              ClipDrawable

              自定義Drawable

2,圖檔資源認識

圖檔資源介紹:

              圖檔是最簡單的Drawable資源,隻要把*.png、*.jpg、*.gif等格式的圖檔放入/res/drawable-xxx目錄下,

              Android SDK就會在編譯應用自動加載這些圖檔,并在R資源清單類中生成該資源的索引。

Android提供了幾種不同的drawable檔案夾:

 drawable-xxhdpi:裡面存放超超高分辨率的圖檔

 drawable-xhdpi:裡面存放超高分辨率的圖檔

 drawable-hdpi:裡面存放高分辨率的圖檔,如WVGA(480X800),FWVGA(480X854)

 drawable-mdpi:裡面存放中等分辨率的圖檔,如HVGA(320X480)

 drawable-ldpi:裡面存放低分辨率圖檔,如QVGA(240X320)

像素密度範圍

              mdpi 120dpi~160dpi

              hdpi 160dpi~240dpi

              xhdpi 240dpi~320dpi

              xxhdpi 320dpi~480dpi

              xxxhdpi 480dpi~640dpi

具體情況可以檢視:螢幕适配

注意:

         Android 不允許圖檔資源的檔案名中出現大寫字母,切不能以數字開頭,否則Android SDK無法為該圖檔在R類中生成資源索引。一旦生成資源索引,在java類中用這個來方法資源:           

           R.drawable.<file_name>

為了在程式中獲得實際的Drawable對象:

              Resources提供了Drawable getDrawable(int id)方法,該方法即可根據Drawable資源在R清單類中的ID來擷取 實際的Drawable對象。