組態識別符
|
標識符值
|
描 述
|
MCC MNC |
例子: mcc310; MCC310-MNC004; MCC208-MNC00
|
MCC(移動國家代碼,Moblie Country Code)和可選的MNC(移動網路代碼,Moblie Network Code)是從SIM卡中讀取的資訊。例如,mcc310表示美國的電訊廠商,mcc310-mnc004表示美國的Verizon電訊廠商,mcc208-mnc00標記法國的Orange電訊廠商。 如果裝置使用無線串連(Radio Connection)(GSM手機),MCC會沖SIM卡讀取,同時MNC從裝置所串連的網路中讀取。 你也可以單獨使用MCC(例如,在應用程式中可以包含特定國家的法律資源)。如果只想知道語言,可以使用語言和地區標識符(下面會討論)。如果你覺得使用MCC和MNC標識符,你應該仔細測試它是否可以正常運行。
|
語言(Language) 和 地區(Region)
|
例子: zh-rCh; en; fr; en-rUS; rf-rFR; rf-rCA;
|
語言識別項被定義為兩個字母的代碼,詳細定義可查閱ISO 639-1.地區標識符是可選的,也可採用了兩個字母的代碼(但要在代碼前面加一個小寫“r”),詳細定義可查閱ISO 3166-1-alpha-2的相關內容。 語言和地區都不區分大小寫。“r”首碼用於區分某個地方,但不能單獨指定一個地區,也就是說,指定地區必須先指定語言。 如果使用者和地區在系統設定中改變了當前的語言,程式在運行時就會改變自身的語言(選擇與當前語言相匹配的資來源目錄讀取資源)
|
螢幕尺寸 (Screen Size
|
small; normall; large; xlarge。
|
small:使用低密度的QVGA螢幕。這種螢幕與HVGA的寬度相同,但比HVGA的高度小。HVGA的螢幕比例是2:3,而QVGA是3:4。QVGA的最小解析度約為320×426,例如,QVGA低密度和VGA高密度都接近這個解析度。 normal:使用VGA中密度螢幕。螢幕的近似解析度為480×640.例如,VGA和WVGA的中密度螢幕都接近這個解析度。 xlarge:基於高密度的螢幕。螢幕解析度約為720×960.這種大解析度要求API Level至少為9,也就是說Android 3.1及以上版本才支援這種大解析度的螢幕。 最低API Level:4(Android 1.6)
|
螢幕外觀 (Screen Aspect)
|
long; notlong。
|
long:看上去較長的螢幕,如WQVGA、WVGA、FWVGA。 notlong:看上去不長的螢幕,如QVGA、HVGA、VGA。 螢幕外觀標識符只是基於螢幕長寬比較的,與螢幕的方向無關。API Level的最小值:4
|
螢幕方向 (Screen Orientation)
|
port; land。
|
port:設定垂直(或稱portrait)方向; land:設定水平(或稱landscape)方向。
|
| 底座模式(Dock Mode) |
car desk |
car:裝置放在器材座地下 desk:裝置放在案頭底座上 API Level最小值:8 |
夜間模式 (Night Mode)
|
night; notnight。
|
night:夜間; notnight:白天。 最低APILevel:8(Android 2.2)
|
螢幕像素密度(Screen pixel density[dpi])
|
ldpi; mdpi; hdpi; xhdpi; nodpi; tvdpi。
|
ldpi:低密度聘僱,密度約為120dpi; mdpi:中密度(傳統的HVGA)螢幕,密度約為160dpi; hdpi:高密度螢幕,密度約為240dpi; xhdpi:擴充高密度螢幕,密度約為320dpi。API Level的最小值8(Android 2.2); nodpi:應用於不需要更具螢幕密度進行展開的位元影像資源; tvdpi:介於mdpi和hdpi之間的螢幕密度(213dpi左右)。該螢幕密度通常用於智能電視中。API Level的最小值為13(Android 3.2)。
|
觸控螢幕幕類型 (Touchscreen Type)
|
notouch; stylus finger。
|
notouch:設定不支援觸控螢幕。 stylus:裝置支援手寫筆的觸控螢幕幕(不支援手指觸摸) finger:設定支援觸控螢幕幕(可能只支援手指,也可能支援手寫筆和手指都支援)。
|
可用鍵盤 (Keyboard Availability)
|
keysexposed; keyshidden; keyssoft。
|
keysexposed:設定鍵盤可用(包括軟體盤和物理鍵盤)。裝置鍵盤可分為如下2種情況: l 只有軟鍵盤,沒有物理鍵盤或物理鍵盤被禁用。該值只用於軟鍵盤。 l 只有物理鍵盤,沒有軟鍵盤或軟鍵盤被禁用。該值只用於物理鍵盤。 keyshidden:裝置有一個物理鍵盤,但該物理鍵盤被隱藏(未被拉出),並且該裝置沒有可用的軟鍵盤。 keyssoft:裝置有一個軟鍵盤,不管該軟鍵盤是否可以。
|
首選文本輸入方式 (Primary Text Input Method)
|
nokeys; qwerty; 12key。
|
nokeys:裝置沒有用於文本輸入的物理按鍵; qwerty:裝置有一個物理querty(與標準電腦鍵盤相同)鍵盤,不管這個物理鍵盤對使用者是否可用; 12key:裝置有一個12鍵的物理鍵盤,不管這個物理鍵盤是否對使用者有用。
|
是否有導航鍵 (Navigation key availability)
|
navexposed; navhidden。
|
navexposed:有導航鍵,並且使用者可以使用這個導航鍵; navhidden:導航鍵不可用(例如翻蓋手機沒有把蓋子開啟)。
|
首選非借出摸導航發送 (Primary Non-touch Navigation Method)
|
nonav; dpad; trackball; wheel。
|
nonav:裝置沒有非觸摸的導航方式; dpad:設別通過十字方向鍵(d-pad)導航; trackball:裝置通過軌跡球導航; wheel:裝置通過滑輪導航。
|
平台版本 (Platform Version[API Level])
|
例子: v3; v4; v7; 等等
|
API Level 的最低版本。例如,v1表示API Level 1(要求Android 1.0及以上的版本);v7表示API Level 7(要求Android 2.1及以上的版本)。 注意:雖然平台本標識符可以匹配等於或大於當前的Android版本,但Android 1.5(v3)和Android 1.6(v4)是兩個例外。由於在這兩個版中存在bug。因此,在這兩個版本中使用平台版本標識符只能精確的匹配當前的Android版本。也就是說,如果只為v3,那麼只有Android 1.5會滿足這個標識符。這個bug在Android 1.6以後的版本已經修複。
|
布局方向(Layout Direction)
|
例子: ldrtl、ldltr
|
ldrtl表示從右至左布局,ldtlr表示從左到有布局。 最低API Level:17(Android 4.2)
|
最小螢幕寬度 (smallestWidth)
|
sw<N>dp,其中N表示一個整數。 例子: sw320dp; sw600dp; sw720dp。
|
最小螢幕寬度的像素。所謂最小聘僱寬度就是Android裝置螢幕的最小邊的寬度(像素個數),例如,解析度是480×800的螢幕最小寬度是480,最小寬度是不會隨著螢幕方向改變而改變的。 下面是一些常用的螢幕尺寸設定。 sw320dp: 240×320ldpi(QVGA螢幕的手機); 320×480ldpi(中密度螢幕的手機); 480×800ldpi(高密度螢幕的手機)。 sw480dp:480×800mdpi(中密度的手機或平板電腦); sw600dp:600×1024mdpi(中密度的7英寸平板電腦,如Nexus 7就是屬於這種裝置); sw720dp:720×1280mdpi(中密度10英寸平板電腦,如Nexus 10就屬於這種裝置)。
最小螢幕寬度不僅包括使用者可使用的地區,也包括不可利用的地區(如系統狀態列)。系統會選擇一個與當前螢幕最小寬度接近(不能超過)的資來源目錄。例如,當前螢幕最小寬度是600,而資來源目錄中有一個res/drawable-sw580dp目錄,系統會使用該目錄中的資源,這就因為580接近於600,而且未超過600。
最低API Level:13(Android 3.2)
可能有讀者會感到疑惑,為什麼上面出現了兩個480×800.實際上,這兩個480×800解析度是不一樣的,一個是中密度(sw480dp)、一個是高密度(sw320dp)。為了製作平板電腦,往往將螢幕弄得很大,例如6英寸或7英寸,但為了節省成本,雖然螢幕尺寸增大了,但螢幕的解析度並沒有增加,這就意味著螢幕的密度(沒英寸包含的像素個數)降低了。也就是說,將一個4英寸的高密度螢幕(解析度是480×800)的手機編程7英寸的平板,但解析度仍然是480×800.所以儘管7英寸的平板比4英寸的手機大,但由於螢幕密度降低了,實際上平板的顯示效果並沒有相同解析度的手機效果好。例如,儘管Nexus 7的解析度是1280×800,但由於是中螢幕密度,所以顯示效果並沒有高螢幕密度的Nexus 4好。
|
可使用的螢幕寬度 (Available width)
|
w<N>dp,其中N表示一個整數。 例子: w720dp; w1024dp。
|
螢幕可使用的最小寬度。這裡的寬度是值從螢幕左側到右側的寬度。當螢幕方向改變後,可使用的寬度也隨之改變。例如,Nexus 7的螢幕解析度是1280×800,如果將Nexus 7橫向放置(底邊為邊長),可使用的寬度就是1280,如果將Nexus 7縱向放置(底邊為短邊),可使用的寬度為800. 例如,兩個main_activity.xml檔案的路徑如下: 1.res/layout-sw600dp/main_activity.xml 2.res/layout-sw600dp-w720dp/main_activity.xml 假設程式運行在Nexus 7上。當Nexus 7縱向放置時,可使用的螢幕寬度是800,而且最小螢幕寬度也就是800,所以系統會使用第1個資來源目錄中的main_activity檔案。當螢幕方向變為橫向時,可使用的螢幕寬度是1280,而第2個資來源目錄的720(需要轉換成實際的像素寬度,Nexus 7的螢幕密度是216,所以像素寬度是720×216/160=972)最接近於1280(系統會選擇最接近的本地化資來源目錄)。所以這是系統會使用第2個資來源目錄中的main_activity檔案。 最低API Level:13(Android 3.2)
|
可使用的螢幕高度 (Available height)
|
h<N>dp,其中N表示一個整數。 例子: h720dp; h1024dp。
|
螢幕可使用的最小高度。這裡的高度是值從螢幕頂端到螢幕底端的高度。當螢幕方向改變後,可使用的高度也隨之改變。例如,Nexus 7的螢幕解析度是1280×800,如果將Nexus 7橫向放置(底邊為邊長),可使用的高度就是900,如果將Nexus 7縱向放置(底邊為短邊),可使用的寬度為1280. 例如,兩個main_activity.xml檔案的路徑如下: 1.res/layout-sw600dp/main_activity.xml 2.res/layout-sw600dp-w720dp/main_activity.xml 假設程式運行在Nexus 7上。當Nexus 7橫向放置時,可使用的螢幕高度是800,而且最小螢幕高度也就是800,所以系統會使用第1個資來源目錄中的main_activity檔案。當螢幕方向變為縱向時,可使用的螢幕寬度是1280,而第2個資來源目錄的720(需要轉換成實際的像素寬度,Nexus 7的螢幕密度是216,所以像素寬度是720×216/160=972)最接近於1280(系統會選擇最接近的本地化資來源目錄)。所以這是系統會使用第2個資來源目錄中的main_activity檔案。 最低API Level:13(Android 3.2)
|
|
|
|