这个页面收集的数据来自过去14天访问Google Play Store的所有设备。数据包括android版本的分布率、屏幕尺寸和密度的相关数据。
http://developer.android.com/about/dashboards/index.html#

Android运行在不同的设备上(不同的屏幕尺寸、像素密度)。Android系统提供了统一的开发环境,并为兼容每个应用的用户接口完成了大部分工作。同时,系统提供了API允许你针对特殊的屏幕尺寸和密度调整app的UI,比如你可能需要为平板电脑和手机提供不同的UI。

屏幕(screen)相关术语和概念
  • Screen size(屏幕尺寸)
  • 实际物理尺寸Actual physical size
    一般来说,android将所有屏幕尺寸分为:small,normal,large,extra large.
  • Screen density(屏幕密度)
  • 某一物理范围内像素点数量,通常指dpi(dots per inch一英寸内的像素点)
    一般来说,android将所有屏幕密度分为:low, medium, high, and extra high
  • Orientation(排列模式)
  • 从用户角度看屏幕的排列模式,分为风景模式和肖像模式(landscape or portrait),其实就是横向和竖向。值得注意的是,不但不同的设备默认按不同的排列模式操作,在运行中排列模式也可以根据用户旋转屏幕来回切换
  • Resolution(分辨率)
  • 屏幕上总的像素. applications do not work directly with resolution; applications should be concerned only with screen size and density, as specified by the generalized size and density groups.
  • Density-independent pixel (dp 密度-非依赖像素)
  • 虚拟像素单位,用来定义UI布局,用密度-非依赖的方式来表达布局密度或位置。
    dp等于160dpi屏幕的物理像素。运行时,系统根据屏幕实际密度将dp转换成px:px = dp * (dpi / 160)。比如在240dpi的屏幕上,1dp=1.5px。你应该只使用dp作为单位,这样能确保在不同密度的屏幕上获得正确的显示。


最佳实践
对多屏幕支持的目标是,创建能同时在不同屏幕配置的设备上正确表达的APP应用。
1、设置android:layout_width和android:layout_height时,"wrap_content", "fill_parent"或者以dp为单位。同样地,使用sp设置文本size
2、代码中不要出现硬编码像素值
由于性能上的原因和为保持代码简单,android系统使用像素px作为标准单位来表示尺寸、坐标。虽然尺寸使用px表示,但值依然基于当前屏幕密度。比如,myView.getWidth()返回的值为10,在当前屏幕该视图为10像素,但在更高密度的屏幕中其值可能为15.
如果应用在运行时需要处理位图或像素值,请参考这一段
http://developer.android.com/guide/practices/screens_support.html#DensityConsiderations
3、避免使用AbsoluteLayout(绝对布局)
不同于其他布局,绝对布局强制使用固定值定位使其跳出子视图,这就很容易导致用户方案不能兼容不同屏幕。因此,绝对布局从Android 1.5 (API Level 3)开始被deprecated。
可用相对布局代替,比如,你可以定位一个按钮出现在文本组件的右边。
4、使用特定尺寸、密度的资源
虽然系统基于当前屏幕配置扩展你的layout和drawable资源,你可能有需求为不同屏幕密度的设备分别配置相应的drawables,以达到最佳体验。在特定资源目录中配置。比如,想在medium和high密度的屏幕中显示icon。分别创建不同尺寸的icon(如100x100,150x150),置于
res/drawable-mdpi/icon.png //for medium-density screens
res/drawable-hdpi/icon.png //for high-density screens

关于合理配置的更多的信息,查看Using configuration qualifiers部分
关于android屏幕支持的详细文档,请参考
http://developer.android.com/guide/practices/screens_support.html

关于Android中dip、dp、sp、pt和px的区别,这篇文章不错
http://greatverve.cnblogs.com/archive/2011/12/27/Android-dip-dp-sp-pt-px.html

更多相关文章

  1. 关于android的分辨率
  2. android 横竖屏
  3. Android(安卓)屏幕(View)坐标系统
  4. Android(安卓)屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最
  5. Android市场官方的统计信息
  6. android 自定义view 实现定制二维码扫描框
  7. Android适配全攻略(学习笔记总结)
  8. ( 转)关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi
  9. Android市场官方的统计信息

随机推荐

  1. 【3.8-3.14】上周精彩回顾
  2. 上传自己的镜像被拒绝denied: requested
  3. 应对“角色爆炸”,PBAC 真香!
  4. 2、AP上线的那些事儿(1)capwap建立过程、设
  5. 量子通讯扫盲
  6. 交互式分析技术
  7. 并行数据库技术分析与展望
  8. Hadoop二次开发环境构建
  9. c语言学习打卡 自定义函数
  10. 2021-03-16:手写代码:单链表归并排序。