我的Android进阶之旅------>Android SDK支持的配置标识符(有用的参考文件)

Android SDK支持的配置标致符

配置标识符
标识符值
描      述

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)





 

 

                            ====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

====================================================================================

 

时间: 2024-12-08 23:55:04

我的Android进阶之旅------&gt;Android SDK支持的配置标识符(有用的参考文件)的相关文章

我的Android进阶之旅------&amp;gt;Android利用温度传感器实现带动画效果的电子温度计

     要想实现带动画效果的电子温度计,需要以下几个知识点: 1.温度传感器相关知识. 2.ScaleAnimation动画相关知识,来进行水印刻度的缩放效果. 3.android:layout_weight属性的合理运用,关于android:layout_weight属性的讲解,可以参考:<我的Android进阶之旅------>关于android:layout_weight属性的一个面试题> 地址为:http://blog.csdn.net/ouyang_peng/article/

我的Android进阶之旅------&amp;gt;Android疯狂连连看游戏的实现之状态数据模型(三)

对于游戏玩家而言,游戏界面上看到的"元素"千变万化:但是对于游戏开发者而言,游戏界面上的元素在底层都是一些数据,不同数据所绘制的图片有所差异而已.因此建立游戏的状态数据模型是实现游戏逻辑的重要步骤. 1.定义数据模型 连连看的界面是一个NxM的"网格",每个网格上显示一张图片.而这个网格只需要一个二维数组来定义即可,而每个网格上所显示的图片,对于底层数据模型来说,不同的图片对于着不同的数值即可. 对于上图所示的数据模型,只要让数值为0的网格上不绘制图片,其他数值的网

我的Android进阶之旅------&amp;gt;Android疯狂连连看游戏的实现之开发游戏界面(二)

连连看的游戏界面十分简单,大致可以分为两个区域: 游戏主界面区 控制按钮和数据显示区 1.开发界面布局 本程序使用一个RelativeLayout作为整体的界面布局元素,界面布局上面是一个自定义组件,下面是一个水平排列的LinearLayout. 下面是本程序的布局文件:/res/layout/main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=

我的Android进阶之旅------&amp;gt;Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)

正如在<我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)>一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piece对象时,程序会直接调用ImageUtil的getPlayImages()方法去获取图片,该方法会随机从res/drawable目录中取得N张图片. 下面是res/drawable目录视图: 为了让getPlayImages()方法能随机从res/drawable目录中取得N张图片,具体实现分为以下几步: 通

我的Android进阶之旅------&amp;gt; Android为TextView组件中显示的文本添加背景色

通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article/details/46916963)      我们学会了在TextView中显示图片的方法,现在我们来学习如何为TextView组件中显示的文本添加背景色.要求完成的样子如图所示: 首先来学习使用BackgroundColorSpan对象设置文字背景色,代码如下: TextView textView=(

我的Android进阶之旅------&amp;gt;Android权限参考大全

访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 获取精确位置 android.permission.ACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内 访问定

我的Android进阶之旅------&amp;gt;Android颜色值(#AARRGGBB)透明度百分比和十六进制对应关系以及计算方法

我的Android进阶之旅-->Android颜色值(RGB)所支持的四种常见形式 透明度百分比和十六进制对应关系表格 透明度 十六进制 100% FF 99% FC 98% FA 97% F7 96% F5 95% F2 94% F0 93% ED 92% EB 91% E8 90% E6 89% E3 88% E0 87% DE 86% DB 85% D9 84% D6 83% D4 82% D1 81% CF 80% CC 79% C9 78% C7 77% C4 76% C2 75% B

我的Android进阶之旅------&amp;gt;Android颜色值(RGB)所支持的四种常见形式

Android中颜色值是通过红(Red).绿(Green).蓝(Blue)三原色,以及一个透明度(Alpha)值来表示的,颜色值总是以井号(#)开头,接下来就是Alpha-Red-Green-Blue的形式.其中Alpha值可以省略,如果省略了Alpha的值,那么该颜色默认是完全不透明的. Android的颜色值支持常见的四种形式如下所示: #RGB:分别指定红.绿.蓝三原色的值(只支持0~f这16级颜色)来代表颜色. #ARGB:分别指定红.绿.蓝三原色的值(只支持0~f这16级颜色)及透明度

我的Android进阶之旅------&amp;gt;Android疯狂连连看游戏的实现之游戏效果预览(一)

今天看完了李刚老师的<疯狂Android讲义>一书中的第18章<疯狂连连看>,从而学会了如何编写一个简单的Android疯狂连连看游戏.      开发这个流行的小游戏,难度适中,而且能充分激发学习热情,适合Android初学者来说是一个不错的选择.对于该游戏的开发,需要重点掌握单机游戏的界面分析和数据建模能力:游戏玩家严重看到的是游戏界面,但是在开发者眼中看到的应该是数据模型.除此之外,单机游戏通常需要一个比较美观的界面,需要通过自定义View来实现游戏主界面.      开发连