转自android官方文档,无法提供链接,因为android官网的链接被和谐了。我在日文版google android中的cache里面翻到的如下内容。赶紧保存了下来。

  1. You can create common dimensions to use for various screen elements by defining dimension values in XML. A dimension resource is a number followed by a unit of measurement . For example: 10px, 2in, 5sp. Here are the units of measurement supported by Android :

  (1) px --> Pixels - corresponds to actual pixels on the screen .

  (2) in --> Inches - based on the physical size of the screen .

  (3) mm --> Millimeters - based on the physical size of the screen .

  (4) pt --> Points - 1/72 of an inch based on the physical size of the screen .

  (5) dp --> Density-independent Pixels - an abstract unit that is based on the physical density of the screen. These units are relative to a 160 dpi screen, so one dp is one pixel on a 160 dpi screen. The ratio of dp-to-pixel will change with the screen density, but not necessarily in direct proportion .Note: The compiler accepts both "dip" and "dp", though "dp" is more consistent with "sp".

  (6) sp --> Scale-independent Pixels - this is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and user's preference .

  2. Dimension values are not normally used as raw resources, but rather as attribute values in XML files. You can, however, create plain resources containing this data type.

  Source file format: XML file requiring a declaration, and a root element containing one or more tags.

  Resource source file location : res/values/dimens.xml (File name is arbitrary; standard practice is to put all dimensions in one file devoted to dimensions.)

  Compiled resource datatype: Resource pointer to a dimension .

Resource reference name:

  Java: R.dimen.some_name

  XML: @[package :]dimen/some_name (where some_name is the name of a specific element)

  Syntax

  Xml代码

   <dimenname=dimen_name>dimen_value</dimen>

  <dimen> A valid dimension value. name - The name used in referring to this dimension .

  Example XML Declaration

  The following code declares several dimension values.

  • <dimenname="double_density">2dp</dimen>
  • <dimenname="sixteen_sp">16sp</dimen>
  • </resources>
  •   Example Java code:

      Java代码

      float dimen = Resources.getDimen(R.dimen.one_pixel);

      Example XML code:

      Xml代码

  • <TextViewandroid:layout_width="fill_parent"
  • android:layout_height="wrap_content"
  • android:textSize="@dimen/sixteen_sp"/>
  •   3. 简单总结

      dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果。

      px: pixels(像素). 不同设备显示效果相同。

      sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。

      pt/in/mm就不解释了,没什么好解释的。

    更多相关文章

    1. 告别Dagger2模板代码:DaggerAndroid原理解析
    2. 获取Android的Java源代码并在Eclipse中关联查看
    3. 性能优化之Java(Android)代码优化
    4. android 获取路径目录方法以及判断目录是否存在,创建目录
    5. 一步一步学习androidNDK编程(java给c传递数据)
    6. android 透明显示
    7. Android中自定义SeekBar来控制音量,并与系统音量键的操作保持同步
    8. android国际化
    9. 最简单的android底部导航栏 + Fragment的实现方式

    随机推荐

    1. Android实现通用的ActivityGroup(效果类似
    2. WebRTC android h264 编解码适配
    3. Android(安卓)- SharedPreferences
    4. android 全部使用NDK开发android应用程序
    5. Android(安卓)事件传递机制的理解
    6. android 微信支付接口申请分享
    7. android adapter的学习
    8. android之Resources相关
    9. 如何避免Android内存泄漏之Context
    10. Android复习笔记(7) -发送广播