|
Android中資源文件的使用概覽。 Android中的資源訪問(wèn)Android中的資源是指非代碼部分,指外部文件。 assets中保存的一般是原生的文件,例如MP3文件,Android程序不能直接訪問(wèn),必須通過(guò)AssetManager類以二進(jìn)制流的形式來(lái)讀取。 res中的資源可以通過(guò)R資源類直接訪問(wèn)。 R類是自動(dòng)生成的,在該類中根據(jù)不同的資源類型生成了相應(yīng)的內(nèi)部類,該類包含了系統(tǒng)中使用到的所有資源文件的標(biāo)識(shí)。 1.在代碼中使用資源文件在代碼中訪問(wèn)資源文件,是通過(guò)R類中定義的資源文件類型和資源文件名稱來(lái)訪問(wèn)的。 具體格式為: R.資源文件類型.資源文件名稱 另外,除了訪問(wèn)用戶自定義的資源文件,還可以訪問(wèn)系統(tǒng)中的資源文件。 訪問(wèn)系統(tǒng)中的資源文件的格式為: android.R. 資源文件類型.資源文件名稱 2.在其他資源文件中引用資源文件經(jīng)常會(huì)在布局文件中引用圖片、顏色資源、字符串資源和尺寸資源。 在其他資源中引用資源的一般格式是: @[包名稱:]資源類型/資源名稱 使用顏色資源顏色值定義的開始時(shí)一個(gè)#號(hào),后面是Alpha-RGB的格式。 例如: #RGB #ARGB #RRGGBB #AARRGGBB 引用資源格式: Java代碼中:R.color.color_name XML文件中:@[package:]color/color_name 使用時(shí)在res\values\目錄下,定義一個(gè)colors.xml文件,里面存放顏色名字和顏色值的鍵值對(duì)。 如: <resources> <color name="red_bg">#f00</color> <color name="blue_text">#0000ff</color> </resources> 其他資源如字符串、尺寸都是類似的方法。
使用字符串資源創(chuàng)建字符串資源文件strings.xml.里面內(nèi)容也是鍵值對(duì) 在Java代碼中引用字符串資源R.string.string_name 可如下取得: String str = getString(R.string.string_name).toString(); 在xml文件中引用字符串資源:@[package:]string/string_name 使用尺寸資源尺寸資源被定義在res\values\dimens.xml文件中。 Android中支持的尺寸單位:
引用尺寸資源: 在Java代碼中: R.dimen.dimen_name 在xml文件中:@[package:]dimen/dimen_name 使用原始XML資源XML文件定義在工程的res\xml\目錄下,通過(guò)Resources.getXML()方法來(lái)訪問(wèn)。 獲得原始XML文件的思路是,通過(guò)getResources().getXml()獲得XML原始文件,得到XmlResourceParser對(duì)象,通過(guò)該對(duì)象來(lái)判斷是文檔的開始還是結(jié)尾、是某個(gè)標(biāo)簽的開始還是結(jié)尾,并通過(guò)一些獲得屬性的方法來(lái)遍歷XML文件,從而訪問(wèn)XML文件的內(nèi)容。 使用drawables資源drawable資源是一些圖片或者顏色資源,主要用來(lái)繪制屏幕,通過(guò)Resources.getDrawable()方法獲得。 drawable資源分為三類:Bitmap File(位圖文件)、Color Drawable(顏色)、Nine-Patch Image(九片圖片)。 Android中支持的位圖文件有png、jpg和gif。 引用位圖資源的格式: Java代碼中:R.drawable.file_name XML文件中:@[package:]drawable/file_name 使用布局(layout)資源布局資源是Android中最常用的一種資源,將屏幕中組件的布局方式定義在一個(gè)XML文件中,類似于Web中的HTML頁(yè)面。 布局文件位于res\layout\中,名稱任意。Android通過(guò)LayoutInflater類將XML文件中的組件解析為可視化的視圖組件。 在Activity中,調(diào)用Activity.setContentView()方法,將布局文件設(shè)置為Activity的界面,使用findViewById()方法來(lái)得到布局中的組件。 引用布局文件: Java代碼中:R.layout.my_layout XML文件中:@[package:]layout/my_layout 使用菜單資源任何視圖組件的創(chuàng)建方式都有兩種:一種通過(guò)在布局文件中聲明創(chuàng)建;另一種通過(guò)在代碼中創(chuàng)建。 Android中的菜單分為選項(xiàng)菜單、上下文菜單和子菜單,都可以在XML文件中聲明定義,在代碼中通過(guò)MenuInflater類使用。 菜單資源文件也是XML文件,放在工程res\menu\目錄下。通過(guò)R.menu.my_menu的方式來(lái)引用。 典型菜單資源文件的結(jié)構(gòu):<menu>根元素,在根元素里會(huì)嵌套<item>和<group>子元素,<item>元素中也可嵌套<menu>形成子菜單。
時(shí)間和精力有限,不能對(duì)每一個(gè)類型都做詳細(xì)的例子研究,只好在實(shí)際的應(yīng)用中綜合起來(lái)再慢慢體會(huì)了。加油! |
|
|