Android res資源文件類型和使用
res資源
1.圖片資源:
drawable:存放各種位圖文件,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable類型的XML文件
mipmap-hdpi:高分辨率,一般我們把圖片丟這里
mipmap-mdpi:中等分辨率,很少,除非兼容的的手機(jī)很舊
mipmap-xhdpi:超高分辨率,手機(jī)屏幕材質(zhì)越來(lái)越好,以后估計(jì)會(huì)慢慢往這里過(guò)渡
mipmap-xxhdpi:超超高分辨率,這個(gè)在高端機(jī)上有所體現(xiàn)
2.布局資源:
layout:該目錄下存放的就是我們的布局文件,另外在一些特定的機(jī)型上,我們做屏幕適配,比如480*320這樣的手機(jī),我們會(huì)另外創(chuàng)建一套布局,就行:layout-480x320這樣的文件夾!
3.菜單資源:
menu:在以前有物理菜單按鈕,即menu鍵的手機(jī)上,用的較多,現(xiàn)在用的并不多,菜單項(xiàng)相關(guān)的資源xml可在這里編寫(xiě),不知道谷歌會(huì)不會(huì)出新的東西來(lái)替代菜單了~
4.values目錄:
demens.xml:定義尺寸資源
string.xml:定義字符串資源
styles.xml:定義樣式資源
colors.xml:定義顏色資源
arrays.xml:定義數(shù)組資源
attrs.xml:自定義控件時(shí)用的較多,自定義控件的屬性!
theme主題文件,和styles很相似,但是會(huì)對(duì)整個(gè)應(yīng)用中的Actvitiy或指定Activity起作用,一般是改變窗口外觀的!可在Java代碼中通過(guò)setTheme使用,或者在Androidmanifest.xml中為添加theme的屬性!?
你可能看到過(guò)這樣的values目錄:values-w820dp,values-v11等,前者w代表平板設(shè)備,820dp代表屏幕寬度;而v11這樣代表在API(11),即android 3.0后才會(huì)用到的!
5.raw目錄:
?用于存放各種原生資源(音頻,視頻,一些XML文件等),我們可以通過(guò)openRawResource(int id)來(lái)獲得資源的二進(jìn)制流!其實(shí)和Assets差不多,不過(guò)這里面的資源會(huì)在R文件那里生成一個(gè)資源id而已
6.最后還有個(gè)動(dòng)畫(huà)的,動(dòng)畫(huà)有兩種:屬性動(dòng)畫(huà)和補(bǔ)間動(dòng)畫(huà):
animator:存放屬性動(dòng)畫(huà)的XML文件
anim:存放補(bǔ)間動(dòng)畫(huà)的XML文件
如何去使用這些資源
知道有什么資源,接下來(lái)就來(lái)了解該怎么用了: 前面也說(shuō)了,我們所有的資源文件都會(huì)在R.java文件下生成一個(gè)資源id,我們可以通過(guò)這個(gè)資源id來(lái)完成資源的訪問(wèn),使用情況有兩種:Java代碼中使用和XML代碼中使用。
1、Java代碼中使用:
Java 文字:
txtName.setText(getResources().getText(R.string.name));
圖片:
imgIcon.setBackgroundDrawableResource(R.drawable.icon);
顏色:
txtName.setTextColor(getResouces().getColor(R.color.red));
布局:
setContentView(R.layout.main);
控件:
txtName = (TextView)findViewById(R.id.txt_name);
XML代碼中使用:
通過(guò)@xxx即可得到,比如這里獲取文本和圖片:
ps:
1、資源文件是完成了資源的定義。取一個(gè)易記的id “name”
2、資源的使用是在java和xml文件中進(jìn)行引用。引用是他們的“name”