android 資源種類及使用

android 有不少種類的資源,有7個是在res下新建目錄而後將資源放在目錄下:res/values,res/xml,res/layout,res/drawable,res/anim,res/menu,res/raw android

還有一種是存放在res同級的目錄assets目錄下,也就是說大致上android資源種類有8類。 數組

    res/values : 存放字符串,顏色,尺寸,數組,主題,類型等資源。 網絡

    res/xml : 能夠是任意類型的xml文件,這些xml文件能夠在運行時讀取 app

    res/layout:佈局文件 佈局

    res/drawable:圖片(bmp,png,gif,jpg等) 動畫

    res/anim: xml格式的動畫資源  (幀動畫 和 補間動畫) spa

    res/menu:菜單資源 orm

    res/raw:會封裝在apk,可是不會被編譯,能夠聽任意類型文件,通常存放比較大的音頻,視頻,圖片,文檔,會在R類   視頻

    生成資源ID xml

    assets:能夠存聽任意類型,不會被編譯,與raw相比,不會在R類中生成資源ID

各類資源的使用:

 使用系統資源:

android  sdk中 提供了大量的系統資源使用這些系統資源(sdk安裝目錄\platforms\android-2.2\data\res)

 經過android.R.resourceType.resourceId 的方式

resourceType表示資源類型:String,Color,Drawable等,resouceId表示資源Id

在代碼中鍵入android.R.會顯示系統定義的資源。

本身定義資源:

1.字符串資源(sring)

存放位置:res/values

存放方式:xml

存放示例:

<resources>

   <string name="hello">你好</string>

</resources>

使用:

a.在layout文件中 =" @string/hello"

b.代碼中 Activity實例的getString()方法

2.數組資源:(array)

存放位置:res/values

存放方式:xml

存放示例:

<resource>

<string-array name="arrays">

<item>

北京

</item>

<item>

長沙

</item>

</string-array>

使用:

String[] arrays = Activity實例的gerResources).getStringArray(R.array.arrays);

注意:除了字符串數組資源外還有數字數組資源<integer-array>可是 每一項元素的值值整數

3.  顏色資源(color)

存放位置:res/values

存放方式:xml

存放示例:

<resources>

  <color name="blue_color">#0000FF</color>

</resources>

使用:

a.layout佈局文件中

="@color/blue_color"

b.代碼中

Activity實例的getResources().getColor(R.color.blue_color);

4.尺寸資源(dimension):

存放位置:res/values

存放方式:xml

存放示例:

<resource>

<dimen name="size_px">2px</dimen>

<dimen name="size_in">1.5in</dimen>

<dimen name="size_sp">30sp</dimen>

</resource>

使用:
a.layout佈局文件中

="@dimen/size_px"

 b.代碼中

Activity實例的getResouces().getDimension(R.dimen.size.in);

5.類型資源(style):

存放位置:res/values

存放方式:xml

存放示例:

<resource>

<style name="style1">

<item name="android:textSize">20dp </item>

<item name="android:textColor">#ffccff</item>

</style>

</resource>

使用:

style="@style/style1"

6.主題資源(theme):

存放位置:res/values

存放方式:xml

存放示例:

與style 相似

<resource>

<style name="theme1">

<item name="android:windowTitlesize" >20dp </item>

<item name="android:textColor">#ffccff</item>

</style>

</resource>

使用:

在Androidmanifest.xml文件中的<application>標籤的或者<activity> 標籤,android:theme = "@style/theme1"

7.繪畫資源(drawable)

存放位置:res/drawable

存放方式:各類圖片

使用:

a.layout佈局文件中

="@drawable/img1";

b.代碼中

Drawable drawable = getResources().getDrawable(R.drawable.img1);

8.RAW資源

存放位置:res/raw

存放方式:任意類型

使用:

InputStream  is= getResources().openRawResource(R.raw.test);

9.ASSETS資源

存放位置:與res同級的assets目錄下

存放方式:任意類型

使用:

InputStream is= getAssets().open("test.txt");


其餘備用資源目錄

mccAAA:AAA是移動設備國家代碼

mncAAA:AAA是運營商/網絡代碼

en-rUS:語言和區域。

small、normal、large、xlarge:屏幕大小

long、notlong:屏幕類型

port、land:縱向或橫向

car、desk:擴展塢類型

night、notnight:晚上或白天

ldpi、mdpi、hdpi、xhdpi、nodpi:屏幕像素密度

notouch、stylus、finger:屏幕種類

keysexposed、keyssoft、keyshidden:鍵盤類型

nokeys、qwerty、12key:鍵數

navexposed、nachidden:隱藏或顯示導航鍵

nonav、dpad、trackball、wheel:導航設備類型

v三、v四、v7:API級別

如:

\res\layout-mcc312-mnc222-en-rUS

\res\layout-ldpi

\res\layout-hdpi

\res\layout-car

相關文章
相關標籤/搜索