Android中資源檔(非代碼部分)的使用概覽

來源:互聯網
上載者:User

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>形成子功能表。
  時間和精力有限,不能對每一個類型都做詳細的例子研究,只好在實際的應用中綜合起來再慢慢體會了。加油!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.