Android中資源文件的使用


  

  Android中資源文件的使用概覽。

Android中的資源訪問

  Android中的資源是指非代碼部分,指外部文件。

  assets中保存的一般是原生的文件,例如MP3文件,Android程序不能直接訪問,必須通過AssetManager類以二進制流的形式來讀取。

  res中的資源可以通過R資源類直接訪問。

  R類是自動生成的,在該類中根據不同的資源類型生成了相應的內部類,該類包含了系統中使用到的所有資源文件的標識。

 

1.在代碼中使用資源文件

  在代碼中訪問資源文件,是通過R類中定義的資源文件類型和資源文件名稱來訪問的。

  具體格式為:

  R.資源文件類型.資源文件名稱

  另外,除了訪問用戶自定義的資源文件,還可以訪問系統中的資源文件。

  訪問系統中的資源文件的格式為

  android.R. 資源文件類型.資源文件名稱

 

2.在其他資源文件中引用資源文件

  經常會在布局文件中引用圖片、顏色資源、字符串資源和尺寸資源。

  在其他資源中引用資源的一般格式是:

  @[包名稱:]資源類型/資源名稱

 

使用顏色資源

  顏色值定義的開始時一個#號,后面是Alpha-RGB的格式。

  例如:

  #RGB

  #ARGB

  #RRGGBB

  #AARRGGBB

  引用資源格式:

  Java代碼中:R.color.color_name

  XML文件中:@[package:]color/color_name

  使用時res\values\目錄下,定義一個colors.xml文件,里面存放顏色名字和顏色值的鍵值對。

  如:

<resources>
    <color name="red_bg">#f00</color>
    <color name="blue_text">#0000ff</color>
</resources>

  其他資源如字符串、尺寸都是類似的方法。

 

使用字符串資源

  創建字符串資源文件strings.xml.里面內容也是鍵值對

  在Java代碼中引用字符串資源R.string.string_name

  可如下取得:

  String str = getString(R.string.string_name).toString();

  在xml文件中引用字符串資源:@[package:]string/string_name

 

使用尺寸資源

  尺寸資源被定義在res\values\dimens.xml文件中。

  Android中支持的尺寸單位:

單位表示

單位名稱

說明

dip 

設備獨立像素 

不同設備不同的顯示效果,dip與屏幕密度有關 

px

像素

屏幕上的真實像素表示,不同設備不同顯示屏顯示效果相同

in

英尺

基於屏幕的物理尺寸

mm

毫米

基於屏幕的物理尺寸

pt

點(磅)

英尺的1/72

dp

和密度無關的像素

相對屏幕物理密度的抽象單位

sp

和精度無關的像素

和dp類似,與刻度無關的像素,主要處理字體大小

  引用尺寸資源:

  在Java代碼中: R.dimen.dimen_name

  在xml文件中:@[package:]dimen/dimen_name

 

使用原始XML資源

  XML文件定義在工程的res\xml\目錄下,通過Resources.getXML()方法來訪問。

  獲得原始XML文件的思路是,通過getResources().getXml()獲得XML原始文件,得到XmlResourceParser對象,通過該對象來判斷是文檔的開始還是結尾、是某個標簽的開始還是結尾,並通過一些獲得屬性的方法來遍歷XML文件,從而訪問XML文件的內容。

 

使用drawables資源

  drawable資源是一些圖片或者顏色資源,主要用來繪制屏幕,通過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中最常用的一種資源,將屏幕中組件的布局方式定義在一個XML文件中,類似於Web中的HTML頁面。

  布局文件位於res\layout\中,名稱任意。Android通過LayoutInflater類將XML文件中的組件解析為可視化的視圖組件。

  在Activity中,調用Activity.setContentView()方法,將布局文件設置為Activity的界面,使用findViewById()方法來得到布局中的組件。

  引用布局文件:

  Java代碼中:R.layout.my_layout

  XML文件中:@[package:]layout/my_layout

 

使用菜單資源

  任何視圖組件的創建方式都有兩種:一種通過在布局文件中聲明創建;另一種通過在代碼中創建。

  Android中的菜單分為選項菜單、上下文菜單和子菜單,都可以在XML文件中聲明定義,在代碼中通過MenuInflater類使用。

  菜單資源文件也是XML文件,放在工程res\menu\目錄下。通過R.menu.my_menu的方式來引用。

  典型菜單資源文件的結構:<menu>根元素,在根元素里會嵌套<item>和<group>子元素,<item>元素中也可嵌套<menu>形成子菜單。

 

  時間和精力有限,不能對每一個類型都做詳細的例子研究,只好在實際的應用中綜合起來再慢慢體會了。加油!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM