柚子快報(bào)激活碼778899分享:Android 應(yīng)用資源概覽
柚子快報(bào)激活碼778899分享:Android 應(yīng)用資源概覽
關(guān)于作者:CSDN內(nèi)容合伙人、技術(shù)專家, 從零開始做日活千萬級APP。 專注于分享各領(lǐng)域原創(chuàng)系列文章 ,擅長java后端、移動(dòng)開發(fā)、商業(yè)變現(xiàn)、人工智能等,希望大家多多支持。
目錄
一、導(dǎo)讀二、概覽三、資源類型分組四、配置限定符名稱表五、限定符命名規(guī)則六、 推薦閱讀
一、導(dǎo)讀
我們繼續(xù)總結(jié)學(xué)習(xí)Android 基礎(chǔ)知識,溫故知新。
資源是指代碼使用的附加文件和靜態(tài)內(nèi)容,例如位圖、布局定義、界面字符串、動(dòng)畫說明等。
本文檔介紹了如何對 Android 項(xiàng)目中的資源進(jìn)行分組。此外,還介紹了如何為特定設(shè)備配置提供備用資源,以及如何從您的應(yīng)用代碼或其他 XML 文件訪問這些資源。
二、概覽
在項(xiàng)目中有一個(gè) res 文件夾, 里面包含所有資源,在這個(gè)文件夾下,再根據(jù)每種類型的資源新建不同的目錄來存放不同類型的資源。
三、資源類型分組
根據(jù)資源的類型,我們大致可以分成以下幾種:
目錄資源類型animator用于定義屬性動(dòng)畫的 XML 文件。anim用于定義補(bǔ)間動(dòng)畫的 XML 文件。屬性動(dòng)畫也可保存在此目錄中,但為了區(qū)分這兩種類型,屬性動(dòng)畫首選 animator/ 目錄。color定義顏色狀態(tài)列表的 XML 文件。如需了解詳情,請參閱 ColorStateList。drawable位圖文件(PNG、.9.png、JPG 或 GIF)或編譯為以下可繪制資源子類型的 XML 文件mipmap適用于不同啟動(dòng)器圖標(biāo)密度的可繪制對象文件。如需詳細(xì)了解如何使用 mipmap 文件夾管理啟動(dòng)器圖標(biāo),請參閱將應(yīng)用圖標(biāo)放在 mipmap 目錄中。layout用于定義界面布局的 XML 文件。如需了解詳情menu用于定義應(yīng)用菜單(例如選項(xiàng)菜單、上下文菜單或子菜單)的 XML 文件。raw需以原始形式保存的任意文件。如要使用原始 InputStream 打開這些資源,請使用資源 ID(即 R.raw.filename)調(diào)用 Resources.openRawResource()。但是,如需訪問原始文件名和文件層次結(jié)構(gòu),請考慮將資源保存在 assets 目錄(而非 res/raw)下。assets 中的文件沒有資源 ID,因此您只能使用 AssetManager 讀取這些文件。values包含字符串、整數(shù)和顏色等簡單值的 XML 文件。values 目錄中的文件可描述多個(gè)資源。對于此目錄中的文件, 元素的每個(gè)子元素均會(huì)定義一個(gè)資源。例如, 元素會(huì)創(chuàng)建 R.string 資源, 元素會(huì)創(chuàng)建 R.color 資源。xml可在運(yùn)行時(shí)通過調(diào)用 Resources.getXML() 讀取的任意 XML 文件。各種 XML 配置文件(例如搜索配置)都必須保存在此處。font帶有擴(kuò)展名的字體文件(例如 TTF、OTF 或 TTC),或包含 元素的 XML 文件。如需詳細(xì)了解以資源形式使用的字體,請參閱將字體添加為 XML 資源。
四、配置限定符名稱表
如果需要適配不同的設(shè)備,我們的資源也要適配多套, 其命名格式如下:
drawable-hdpi
drawable-night-hdpi
限定符值配置說明MCC 和 MNC移動(dòng)設(shè)備國家/地區(qū)代碼 (MCC),(可選)后跟設(shè)備 SIM 卡中的移動(dòng)設(shè)備網(wǎng)絡(luò)代碼 (MNC)。示例:mcc310、mcc310-mnc004、mcc208-mnc00en、fr等等語言、腳本(可選)和區(qū)域(可選),用于應(yīng)用本地化ldrtl、ldltr應(yīng)用的布局方向,ldrtl 是指“布局方向從右到左”。ldltr 是指“布局方向從左到右”(默認(rèn)的隱式值)。swdp最小寬度,應(yīng)用可用屏幕區(qū)域的最短尺寸,示例:sw320dp、sw600dp、sw720dp等等wdp、hdp可用寬度和高度,指定資源使用的最小可用屏幕寬度或高度(以 dp 為單位,由 值定義),示例:、w720dp、w1024dp、h720dp、h1024dp等等small、normal、large、xlarge屏幕尺寸long、notlong屏幕寬高比round、notround圓形屏幕widecg、nowidecg廣色域highdr、lowdr高動(dòng)態(tài)范圍 (HDR)port、land屏幕方向car、desk、television、appliance、watch、vrheadset界面模式,如車載、桌面、電視、不帶顯示屏的、手表、虛擬現(xiàn)實(shí)耳機(jī)night、notnight夜間模式ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi、nodpi、tvdpi、anydpi、nnndpi屏幕像素密度 (dpi)notouch、finger觸摸屏類型,如設(shè)備沒有觸摸屏、設(shè)備有一個(gè)專供用戶通過手指直接與其交互的觸摸屏keysexposed、keyshidden、keyssoft鍵盤可用性nokeys、qwerty、12key主要的文本輸入法navexposed、navhidden導(dǎo)航鍵可用性v3、v4、v7等等平臺(tái)版本(API 級別),設(shè)備支持的 API 級別。例如,v1 對應(yīng) API 級別 1(搭載 Android 1.0 或更高版本的設(shè)備);v4 對應(yīng) API 級別 4(搭載 Android 1.6 或更高版本的設(shè)備)。如需了解有關(guān)這些值的詳細(xì)信息,請參閱 Android API 級別文檔。
- ldpi:低密度屏幕;約為 120 dpi。
- mdpi:中密度(傳統(tǒng) HVGA)屏幕;約為 160 dpi。
- hdpi:高密度屏幕;約為 240 dpi。
- xhdpi:超高密度屏幕;約為 320 dpi。此項(xiàng)為 API 級別 8 中的新增配置。
- xxhdpi:超超高密度屏幕;約為 480 dpi。此項(xiàng)為 API 級別 16 中的新增配置。
- xxxhdpi:超超超高密度屏幕使用(僅限啟動(dòng)器圖標(biāo),請參閱支持不同的像素密度);約為 640 dpi。此項(xiàng)為 API 級別 18 中的新增配置。
這六種主要密度之間的縮放比例為 3:4:6:8:12:16(tvdpi 密度忽略不計(jì))。因此,9x9 (ldpi) 位圖相當(dāng)于 12x12 (mdpi)、18x18 (hdpi)、24x24 (xhdpi) 位圖,依此類推。
- nodpi:用于您不希望為匹配設(shè)備密度而進(jìn)行縮放的位圖資源。
- tvdpi:密度介于 mdpi 和 hdpi 之間的屏幕;約為 213 dpi。這不屬于“主要”密度組。它主要用于電視,而大多數(shù)應(yīng)用都不需要它。對于大多數(shù)應(yīng)用而言,提供 mdpi 和 hdpi 資源便已足夠,系統(tǒng)將視情況對其進(jìn)行縮放。此項(xiàng)為 API 級別 13 中的新增配置。
- anydpi:適合所有屏幕密度,其優(yōu)先級高于其他限定符。這對于矢量可繪制對象非常有用。此項(xiàng)為 API 級別 21 中的新增配置。
- nnndpi:用于表示非標(biāo)準(zhǔn)密度,其中 nnn 是正整數(shù)屏幕密度。大多數(shù)情況下不使用此限定符。使用標(biāo)準(zhǔn)密度存儲(chǔ)分區(qū),可顯著減少因支持市場上各種設(shè)備屏幕密度而產(chǎn)生的開銷。
五、限定符命名規(guī)則
以下是一些使用配置限定符名稱時(shí)需遵循的規(guī)則:
可以為單組資源指定多個(gè)限定符,并使用短劃線分隔。例如,drawable-en-rUS-land 適用于屏幕方向?yàn)闄M向且語言為美式英語的設(shè)備。這些限定符必須遵循上面表 中列出的順序。
錯(cuò)誤:drawable-hdpi-port
正確:drawable-port-hdpi
不得嵌套備用資源目錄。例如,您的目錄不能為 res/drawable/drawable-en/。值不區(qū)分大小寫。每種限定符類型僅支持一個(gè)值。
錯(cuò)誤:drawable-es-fr
正確:drawable-es 和 drawable-fr
google網(wǎng)站
六、 推薦閱讀
Java 專欄
SQL 專欄
數(shù)據(jù)結(jié)構(gòu)與算法
Android學(xué)習(xí)專欄
柚子快報(bào)激活碼778899分享:Android 應(yīng)用資源概覽
推薦鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。