国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Android SDK上手指南:應用程序資源

譯文
移動開發 Android
大家可以通過Package Explorer瀏覽“res”文件夾當中的內容,這些就是我們之前在創建項目時所使用的資源。打開文件夾、看看里面都藏著哪些寶貝。

介紹

在系列教程中的最新一篇里,我們將研究大家最可能在第一個開發項目中涉及到的資源類型。項目資源當中包含布局、圖片以及數據值,這些都是應用需要使用的元素。當我們創建一個新項目時,項目目錄下會自動生成多個用于容納通用資源類型的文件夾。如果需要,大家還可以添加更多文件夾以擴展資源類型數量。

大家可以通過Package Explorer瀏覽“res”文件夾當中的內容,這些就是我們之前在創建項目時所使用的資源。打開文件夾、看看里面都藏著哪些寶貝。大家還可以在資源目錄下添加更多新文件夾,也可以在各文件夾中添加新文件,或者是直接使用現有文件(例如我們在前幾篇系列文章中所使用的布局與字符值文件)。

1. 備用資源

在我們正式開始之前,首先指出一點注意事項——大家可以將自己的Android資源劃分為兩大類:一種是能夠被跨設備使用的資源,另一種則是針對設備特定子集的資源。大家可以在現有項目結構中發現二者的實例。在Eclipse Package Explorer當中,查看“res”目錄。請記住,不同的可繪制文件夾對應著特定設備屏幕像素密度。在今天的文章中,我們打算使用非特定可繪制文件(即能夠跨設備使用的資源)。

大家可以通過類別限定的方式為每種資源類型添加備用目錄。在Eclipse當中,這代表著“drawable-hdpi”、“drawable-xhdpi”等不同類型。Android平臺支持多種用戶設備分類方式,其中包括屏幕尺寸、像素密度、API級別、語言以及區域等等。任何在名稱中不包含類型限定的資源類型文件夾都能夠實現跨設備使用。大家并不一定需要為所有資源類型都設置類別限定文件夾,但當我們針對不同設備進行應用測試時,可能需要在不同配置之間做出一些細微調整。

2. 可繪制資源

第一步

我們都知道,Eclipse會創建多個可繪制文件夾,每一個都針對一種特定的密度桶。可繪制文件夾當中包含我們在應用程序中所使用的任何圖片。大家可以在Eclipse之外準備一些數字格式的圖片,例如JPEG、PNG以及GIF。大家還可以利用XML代碼定義可繪制資源。下面我們就著手嘗試,并將其添加到主布局當中。

盡管大家應該嘗試針對各種特定像素密度創建可繪制資源,但由于本教程的篇幅所限,今天我們姑且使用適應所有設備的單一可繪制方案。在Eclipse Package Explorer當中選擇“res”文件夾,選擇“File”或者右鍵點擊該文件夾->選擇“New”->“Folder”來創建一個新文件夾。將該文件夾命名為“drawable”然后點擊“Finish”完成創建。

無論何時,只要我們需要在項目當中創建新文件夾,都可以遵循以上流程。

第二步

現在我們新建的可繪制文件夾應該已經與其它原有可繪制文件夾一道,顯示在Package Explorer當中了。正如我們之前所提到,如果某個文件夾并不針對特定設備子集(即由像素密度分類或者API級別加以定義),那么大家完全可以隨意置換其中的資源并將其用于任何用戶設備。因此,無論我們向新的可繪制文件夾當中添加什么內容,其都會顯示在所有用戶設備之上。對于大部分可繪制資源來說,我們最需要注意的就是其不同像素密度版本;不過為了簡單起見,我們將在今天的文章中使用這個新文件夾。

在Package Explorer當中選中我們的新建可繪制文件夾、右鍵點擊或者選擇“File”、而后選擇“New”以及“Android XML File”,從而在文件夾中創建一個新文件。這時Eclipse會彈出新文件的創建導航。Android支持多種不同的可繪制文件類型。今天我們要創建的是一個圖形可繪制文件,并利用其中所包含的不同圖形及外觀實現標記的目的。大家可以點擊此處,通過開發者指南了解其它可繪制類型。

在頂部的下拉列表中,我們可以選擇資源的具體類型——由于我們是在可繪制文件夾中創建新文件的,所以Eclipse會自動選中“drawable”。接下來是項目下拉列表,同時應該自動填入我們所選擇的項目。然后是在文本輸入框內為文件命名——輸入“nice_shape.xml”。輸入框下方是我們可以選擇的根元素列表。下滾并選擇“shape”,因為我們打算定義的是圖形可繪制資源。最后點擊“Finish”,Eclipse會創建新文件并在編輯器中打開。

第三步

在圖形可繪制對象中,大家可以選擇一系列通用圖形類別,其中包括矩形、橢圓、線條和圓環。選擇了圖形類別之后,我們就可以對其具體屬性加以定義,例如實心或者漸變顏色、邊角、填充、尺寸以及筆觸等。我們通過以下代碼編輯根shape元素,從而獲得一個矩形:

  1.  <shape xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:shape="rectangle" > 
  3. </shape> 

大家接下來可以通過在根shape元素中添加其它元素來定義圖形屬性。首先定義一個梯度:

  1. <shape xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:shape="rectangle" > 
  3.     <gradient 
  4.         android:angle="270" 
  5.         android:centerColor="#FFFFFF00" 
  6.         android:endColor="#FF0000FF" 
  7.         android:startColor="#FFFF0000" 
  8.         android:type="linear" /> 
  9. </shape> 

我們需要定義梯度的類型、角度外加起點、終點以及中央的顏色。在gradient元素完成后,我們再添加一些圓角:

  1. <corners android:radius="10dp" /> 

下面添加筆觸:

  1. <stroke 
  2.    android:width="2dp" 
  3.    android:color="#FF339966" /> 

當我們在編輯器中輸入內容時,會看到Eclipse提示的可用元素與屬性類型。在完成本教程之后,大家可以用一段時間來嘗試它們對效果的影響。我們將在下一步驟中將創建好的圖形用在UI當中。現在保存可繪制文件。

提示:要在應用程序內使用Eclipse之外所準備的數字圖片文件,大家只需直接將其復制到工作區目錄下對應的可繪制文件夾當中即可。在文件向資源文件夾的復制過程結束后,大家可能需要刷新Eclipse視圖——即在Package Explorer中選擇對應項目,右皺起擊或者選擇“File”,然后選擇“Refresh”。這樣我們就能在應用程序代碼中引用這些圖片文件了。

3. 布局資源

第一步

我們先回顧一下之前文章在設計應用程序用戶界面時,其中所涉及的布局知識。先來看布局文件與可繪制交互。我們可以在布局當中將可繪制資源作為View或者特定View的背景加以顯示。首先列出我們已經創建完成的圖形可繪制資源,并將其作為現有View的背景。打開應用程序的主布局文件,將圖形可繪制資源作為我們之前添加的按鈕的背景圖案。為Button元素添加以下屬性:

  1. android:background="@drawable/nice_shape" 

我們利用資源類型與名稱(即我們為可繪制資源設定的文件名)將其引用到布局當中。請注意,這與我們之前用于引用字符串值的語法形式是一樣的。保存并切換到Graphical Layout標簽,查看圖形是否已經成為按鈕背景。大家可能會注意到,按鈕還需要一點填充調整。現在切換回XML編輯模式并為Button元素添加填充屬性:

  1. android:padding="5dp" 

重新切換回Graphical Layout標簽并查看實際效果。

第二步

現在讓我們在專用View中使用圖形可繪制資源。將以下代碼添加到布局中的Button元素內:

  1. <ImageView 
  2.   android:layout_width="fill_parent" 
  3.   android:layout_height="fill_parent" 
  4.   android:layout_margin="10dp" 
  5.   android:src="@drawable/nice_shape" /> 

我們設置ImageView來填滿除了邊界之外的空間。大家也可以選擇為其設置固定長度與寬度來達到同樣的效果。請注意,Eclipse會顯示警告,因為我們還沒有為其添加內容描述屬性。現在開始著手進行,打開我們的“res/values”字符串XML文件并添加以下內容:

  1. <string name="pic">Picture</string> 

現在大家可以將該字符串添加到布局文件下的ImageView當中:

  1. android:contentDescription="@string/pic" 

如大家所見,資源的使用需要在項目中的不同文件之間來回切換,同時使用標準語法模式實現對不同資源條目的引用。現在再次切換以查看圖形預覽效果。

大家可以使用圖中所示的控件進行放大與縮小。

4. 其它資源類型

到目前為止,我們已經在應用程序當中使用了三種資源類型:布局、可繪制與值。其實可以在應用中使用的資源類型還有很多,只需通過前面介紹的方法加以引用即可。正如我們在本系列之前的文章中所提到,大家還可以利用以下語法引用Java文件中的資源:

  1. //R.type.name 
  2. .string.pic//example 

讓我們簡要總結一下將來可能會用在應用程序當中的其它資源類型。在之前的文章和本文的前面幾個章節,我們已經使用了可繪制與布局資源。字符串值也出現在布局文件當中。現在在Package Explorer當中打開“values”文件夾,除了字符串文件之外,Eclipse通常還會添加一個尺寸文件和一個樣式文件。在樣式文件內,大家可以定義外觀屬性從而與應用程序的UI風格保持一致。而在“dimens”文件中,大家可以定義應用程序所使用的尺寸值。

如我們之前所提到,大家可以通過限定機制為特定設備屬性創建備用資源類型文件夾。如大家所見,Eclipse會針對特定API級別創建值文件夾,但我們也可以利用其它一些限定手段實現對特定設備的支持。舉例來說,大家可能希望在我們所添加的ImageView當中使用固定寬高尺寸,從而使顯示大小與設備屏幕尺寸完美契合。為了實現這一點,大家可以添加值文件夾及其中的尺寸文件來匹配各種尺寸或者像素密度桶(例如‘-small’、‘-large’、‘-hdpi’、‘-mdpi’等等)。通過在每個文件當中包含尺寸值,并在相同的值名稱之下使用不同數字,Android系統將自動選擇最適合用戶設備的方案。

大家可能需要用到的其它資源類型還包括數字、菜單、動畫以及顏色值。Eclipse通常會在我們創建一個應用程序之后為其創建一個菜單文件夾,現在請大家打開該文件夾看看其中的內容。要定義XML動畫,大家可以向“res”目錄中添加一個“anim”或者“animator”文件夾,也可以直接將動畫文件添加到可繪制文件夾當中——具體方式取決于我們所使用的實際動畫類型。

如果大家希望在應用程序UI中使用一組顏色,則可以在保存于值目錄下的文件中對color元素進行定義。每個color元素都可以包含一個HEX值與一個名稱屬性,這樣我們就可以在其它文件當中引用這些顏色了。至于那些無法被歸于任何一種Android定義類別的XML資源,大家可以將其保存在“res”目錄下的“xml”文件夾當中。

要對Android當中的全部資源類型擁有透徹了解,大家可以查看開發者指南當中的“資源類型”與“更多資源類型”兩個章節。雖然在學習的起步階段最好只接觸比較淺顯的內容,但這些資料仍然值得大家認真閱讀,從而為今后的開發工作奠定良好的知識基礎。

提示:當大家參閱Android項目實例或者開發者指南時,經常會在其中發現一些經常被資源使用的標準文件名。不過文件名本身其實可以隨意選擇——只要大家使用正確的文件夾名稱與元素,這樣應用程序代碼就可以通過識別系統訪問所有資源。除此之外,堅持使用傳統文件名可以讓我們的應用程序更加清晰且便于理解,特別是對于值文件夾來說。

總結

在今天的文章中,我們了解了Android系統當中關于應用程序資源的基礎知識。不過正如之前所提到,還有很多未知領域等等著我們去探索。對于大家的第一款應用,各位只需要使用相對簡單的方案幫助自己習慣資源的使用方法即可。但隨著我們在應用開發方面的不斷成長,大家應該嘗試思考各類用戶設備在運行我們應用時可能面臨的情況,并為其提供必要的額外資源。在本系列教程的下一部分中,我們將一同了解項目的Manifest(清單)文件。

原文鏈接: http://mobile.tutsplus.com/tutorials/android/android-sdk-app-resources/

責任編輯:張葉青 來源: 51CTO
相關推薦

2013-12-26 15:47:59

Android SDK應用程序

2013-12-04 15:11:03

Android SDK應用程序

2013-12-04 15:20:33

Android SDK應用程序

2013-12-04 13:51:38

Android SDK應用程序

2014-01-22 10:00:10

Android SDKAndroid開發

2013-12-04 14:44:41

Android SDK用戶交互

2013-12-04 13:27:56

Android SDK項目

2013-12-26 15:40:33

Android SDK項目

2013-12-26 15:14:38

Android SDK運行調試

2013-12-26 14:52:52

Android SDK物理設備

2013-11-27 10:12:11

2014-03-16 09:21:39

Android開發Android SDK

2013-12-26 15:26:48

Android SDKActivity生命周期

2014-06-24 09:41:56

Android Stu教程

2014-02-28 11:01:22

Android開發Android SDK

2021-01-26 08:37:18

MobXVueReact

2025-05-28 15:46:13

2025-11-03 09:00:00

LLMtoken大語言模型

2024-01-29 00:36:50

Backstage設施工具

2021-11-26 09:40:37

EclipseIDEA開發
點贊
收藏

51CTO技術棧公眾號

免费在线成人av电影| 色综合视频一区二区三区高清| 亚洲理论在线a中文字幕| 国产三级三级看三级| 樱桃成人精品视频在线播放| 日本无删减在线| 欧美激情理论| 久草在线视频网站| www.亚洲资源| 久久婷婷av| 久久精品国产91精品亚洲| 中文字幕中文字幕一区三区| 色8久久久久| 亚洲综合视频网| 久久久精品动漫| jizzyou欧美16| 亚洲国产欧美一区二区丝袜黑人| 国产亚洲第一区| 少妇一晚三次一区二区三区| 你懂的在线网址| 国产精品亚洲视频| 久久免费精品日本久久中文字幕| 青青草超碰在线| 中文字幕巨乱亚洲| 国产一区二区三区网站| 国产成人tv| 第一会所sis001亚洲| 亚洲精品一区二区三区99| a级网站在线播放| 久久99精品网久久| 中文字幕理伦片免费看| 成人在线综合网| 中文字幕黄色大片| 久久久夜精品| 视频一区二区精品| 高清欧美精品xxxxx在线看| 日韩有码在线电影| 2021中文字幕在线| 精品国产一区二区三区久久久狼| 无码专区aaaaaa免费视频| 久久激情中文| 成人黄色动漫| 色老汉一区二区三区| 亚洲最大黄网| 亚洲女人被黑人巨大进入al| 国产在线视频网址| 成av人片一区二区| 99亚洲国产精品| 亚洲精品www| 国产成人精品视频| 精品免费av在线| 日韩精品极品视频免费观看| 特黄特色特刺激视频免费播放| 久久久久国产一区二区三区四区| 黄色一级片国产| 欧美尺度大的性做爰视频| 日韩精品免费一区二区三区竹菊| 日本高清+成人网在线观看| 亚洲一区有码| 欧美美乳视频网站在线观看| 国产成人精品在线看| 亚洲精品日产| 老司机aⅴ毛片免费观看| 手机成人在线| 91啪亚洲精品| 亚洲 欧美 日韩 国产综合 在线| 欧美精品第一页| 风间由美性色一区二区三区四区| 天堂资源在线亚洲视频| 欧美高清视频不卡网| 在线高清一区| 在线观看日韩精品| 热久久最新地址| 日韩欧美中文字幕在线播放| h精品动漫在线观看| 亚洲免费高清视频| 国产精品亚洲视频| 在线91av| 成人午夜一级二级三级| 国产日韩欧美一区在线| 国产aaa一级片| 欧美精品一区二区三区在线播放| 亚洲人成免费网站| 黄色一级影院| 日韩在线欧美在线国产在线| 久久久精品五月天| 国产成人无码a区在线观看视频| 国产精品成人网| 试看120秒一区二区三区| 久久久天堂国产精品| 一区二区三区在线影院| 三级视频在线| 中文无字幕一区二区三区| 亚洲欧洲动漫| 欧美在线不卡视频| 一区三区视频| 色老板亚洲精品一区| 欧美成人午夜激情在线| 亚洲黄色成人网| xxxxx成人.com| 丁香婷婷深情五月亚洲| 中文字幕欧美亚洲| 欧美亚洲一级| 在线观看av网站永久| 亚洲一区二区三区sesese| 在线一区二区三区四区| 成人免费福利| 99久久精品免费看国产四区| 亚洲一区在线看| 91精品国产乱码久久久竹菊| 国产日韩欧美一区二区三区四区 | 日本成人手机在线| 簧片在线免费看| 亚洲综合日韩在线| 欧美一区二区三区爱爱| 国产精品一区二区你懂的| 天天躁日日躁成人字幕aⅴ| av在线免费观看网站| 人妻少妇精品久久| 国内精品免费午夜毛片| 欧美人伦禁忌dvd放荡欲情| 国产成人精品免费在线| 日韩美香港a一级毛片| 又粗又黑又大的吊av| 国产欧美日韩综合精品二区| 在线视频欧美性高潮| 亚洲欧美电影一区二区| 久久午夜激情| 久久久久久久久久久妇女| 四虎影视成人精品国库在线观看 | 国产精品对白一区二区三区| 亚洲色图综合久久| 一区二区免费在线播放| 久久亚洲免费视频| 欧美一区三区| 欧美jizz19性欧美| 88xx成人永久免费观看| 国产精品ⅴa有声小说| 农村妇女精品一二区| 综合网中文字幕| 欧美三级xxx| 成人激情小说乱人伦| 亚洲一区观看| 成人毛片免费看| 精品嫩草影院| 国模一区二区| 国产高清中文字幕在线| 在线看的av网站| 中文字幕在线第一页| 欧美激情18p| 中文字幕亚洲自拍| 在线精品国产欧美| 欧美日韩另类视频| 欧洲一区二区三区在线| 91福利精品视频| 日韩一级二级三级| 亚洲网友自拍偷拍| 中文字幕日韩av资源站| 欧美大片一区二区三区| 麻豆精品视频在线| 丝袜诱惑制服诱惑色一区在线观看 | 免费在线国产| 玛雅亚洲电影| 狠狠色丁香婷婷综合| 亚洲成人a级网| 日韩一区视频在线| 亚洲精品久久久久久久久久久久 | 欧美主播一区二区三区| 在线观看一区二区精品视频| 亚洲综合色丁香婷婷六月图片| 国产精品伦一区| 精品国产91久久久久久| 91高清在线观看| 正在播放国产一区| 国产欧美精品在线播放| 国新精品乱码一区二区三区18| 精品日本一区二区| 97成人在线免费视频| 一二三四社区在线视频| 青草久久伊人| 玖玖精品在线| 最新日韩在线| 国产精品三级在线观看| 精品国产在天天线2019| 欧美不卡在线视频| 亚洲影院色在线观看免费| 国产在线一区二| 小明精品国产一区二区三区| 美女视频免费精品| 成人av婷婷| 99在线精品视频在线观看| 992tv国产精品成人影院| 国语自产精品视频在线看抢先版结局| 久久精品国产99久久| 麻豆精品视频在线观看视频| 国产精品久久久久久亚洲伦| 亚洲一区二区三区四区五区黄| 中文字幕在线一区二区三区| 精品福利一区二区三区| 国产福利在线|