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

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

(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.Dimensionvalues 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<?xml version="1.0" encoding="utf-8"?>declaration, and a root<resources>element containing one or more<dimen>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 adimension.

Resource reference name:

  • Java:R.dimen.some_name
  • XML:@[package :]dimen/some_name (wheresome_nameis thenameof a specific<dimen>element)

Syntax

Xml代码
  1. <dimenname=dimen_name>dimen_value</dimen>

<dimen>A validdimensionvalue.name- The name used in referring to thisdimension.

Example XML Declaration

The following code declares severaldimensionvalues.

Xml代码
  1. <resources>
  2. <dimenname="one_pixel">1px</dimen>
  3. <dimenname="double_density">2dp</dimen>
  4. <dimenname="sixteen_sp">16sp</dimen>
  5. </resources>

Example Code Use

Example Java code:

Java代码
  1. floatdimen=Resources.getDimen(R.dimen.one_pixel);

Example XML code:

Xml代码
  1. <TextViewandroid:layout_width="fill_parent"
  2. android:layout_height="wrap_content"
  3. android:textSize="@dimen/sixteen_sp"/>

3. 简单总结

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

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

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

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

更多相关文章

  1. android百度地图标记点代码
  2. Android使用代码模拟HOME键的功能
  3. Android近百个项目的源代码
  4. Android代码速查,写给新手的朋友们
  5. TextView实现电话、网址链接
  6. Java代码设置Android全屏
  7. [置顶] Android 代码混淆 选项说明
  8. android秒表计时代码
  9. android代码片段一

随机推荐

  1. 转android四种动画
  2. 学习笔记(01):FFmpeg打造Android万能音频
  3. Android获取用户已安装app列表
  4. Android(安卓)平台上,界面元素在定时器的
  5. 【Arcgis for android】相关教程收集自网
  6. android五种布局模式
  7. Android(安卓)Service AIDL 远程调用服务
  8. Android开发AsyncTask异步处理任务
  9. Android(安卓)为【apk】文件签名,增加修改
  10. 打开Android开发软件eclipse时出现parseS