`
wayfarer
  • 浏览: 297788 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Units of Measurement Supported by Android

阅读更多

转自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 <?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 a dimension .

Resource reference name:

  • Java: R.dimen.some_name
  • XML: @[package :]dimen/some_name (where some_name is the name of a specific <dimen> element)

Syntax

<dimen name=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.

    <resources>
        <dimen name="one_pixel">1px</dimen>
        <dimen name="double_density">2dp</dimen>
        <dimen name="sixteen_sp">16sp</dimen>
    </resources> 

    Example Code Use

    Example Java code:

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

    Example XML code:

    <TextView android: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就不解释了,没什么好解释的。

    分享到:
    评论
    2 楼 wayfarer 2009-09-09  
    DisplayMetrics dm = cx.getApplicationContext().getResources().getDisplayMetrics();
    关注DisplayMetrics这个类。
    1 楼 wayfarer 2009-09-09  
    http://dengm1010.iteye.com/blog/444361
    值得参考

    相关推荐

      nginx for windows

      此版本nginx可以解决在windows平台上1024句柄的限制:maximum number of descriptors supported by select() is 1024 while connecting to upstream

      Android代码-DNNLibrary

      It's very exciting to run a model in the "native" way supported by Android System. :) DNNLibrary is a wrapper of NNAPI ("DNNLibrary" is for "daquexian's NNAPI library). It lets you easily make the ...

      mysql-connector-net-8.0.26-noinstall.rar

      C#连接MYSQL8.0的版本老是提示[Authentication method 'caching_sha2_password' not supported by any of the available plugins.] 这个错误,换低版本的MYSQL连接又没有问题,现在把我的经验分享一下,解决这个连接...

      使用腾讯TBS浏览office

      例如,在Android项目中,可以将`build.gradle`文件添加依赖,确保TBS SDK的版本号与项目兼容。 【TBS与X5内核】:X5内核是TBS的核心组成部分,它优化了HTML5的性能,支持WebGL、WebAudio等现代Web标准,同时具备...

      Cable Supported Bridges: Concept and Design

      In the family of bridge systems the cable supported bridges are distinguished by their ability to overcome large spans. At present, cable supported bridges are enabled for spans in the range from 200 ...

      Android代码-全民GoogleARCore,解决官方不支持设备问题

      Unfortunately, my Android phone (Samsung GS8 ) was not on the supported list, and apps built with ARCore exit at start on my device. However, its hardware actually can run ARCore! I modified the ...

      android security framework

      government solutions that require deployment of advanced security models, not supported by vanilla Android. We present a prototypical implementation ofASFand demonstrate its effectiveness and ...

      android Ble 蓝牙4.0 GATT 错误代码

      * GATT_REQ_NOT_SUPPORTED (0x0006):表明请求不被支持。 * GATT_INVALID_OFFSET (0x0007):表明偏移量无效。 * GATT_INSUF_AUTHORIZATION (0x0008):表明授权不充分。 * GATT_PREPARE_Q_FULL (0x0009):表明准备...

      java解决405 - HTTP method GET is not supported by this URL

      当您遇到"405 - HTTP method GET is not supported by this URL"这样的问题时,通常意味着您的服务器端代码没有正确处理GET请求,或者请求被误定向到了一个不期望GET方法的Servlet。 首先,我们需要理解HTTP协议中...

      使用TBS实现doc、pdf等多格式文档在线阅读 源码

      本文将详细介绍如何使用TBS在Android Studio中实现doc、pdf等多种格式文档的在线阅读功能。 TBS是腾讯推出的一款轻量级浏览服务,它支持网页和多种文档类型的在线预览,具有加载速度快、资源占用低的优点。TBS的...

      Android打开本地HTML网页AndroidStudio工程.rar

      Android中的`WebView`是核心组件,它允许我们在应用程序内部展示网页内容。`WebView`继承自`View`,因此可以像其他视图一样添加到布局文件中。我们可以通过XML布局文件或代码动态创建和设置`WebView`。 2. **加载...

      android-serialport-api

      You may find such serial ports on the connector of HTC Android phones. This project wants to provide a simple API to connect, read and write data through theses serial ports. The supported features...

      centos6.7部分程序安装时无法气动安装窗口

      部分程序在centos下安装时提示:Graphical installers are not supported by the VM

      Android代码-目前最漂亮的一个 Dribbble 客户端,不能更好看!

      Protein Protein is an atypical ... Unfortunately, most of the current features are't supported by API v2. So, in the following months, I'll: Try to recover some basic features Implement a redesign

      Android代码-braintree_android_encryption

      with one of the supported client libraries. It encrypts sensitive payment information using the public key of an asymmetric key pair. :warning: DEPRECATED :warning: This integration method is ...

      Table_of_Supported_Devices_1.23.pdf.zip_Table

      这份名为"Table_of_Supported_Devices_1.23.pdf"的文档详细列出了1.23版本中Java Verified所支持的设备列表,对于开发者、企业以及用户来说,这是一份极其宝贵的参考资料。 首先,我们要理解Java Verified的意义。...

      android studio模拟器运行软件Intel HAMX

      emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed!

      Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21

      Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21

      Android_System_Supported_Media_Formats

      Android系统支持的媒体格式 Android平台为应用开发者提供了多种媒体编解码器、容器和网络协议的支持,使得在Android设备上处理音频和视频内容变得更为便捷。然而,建议使用不受特定设备限制的媒体编码配置文件,以...

      关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version

      IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version 和Export declarations are not supported by current JavaScript version报错都是一个解决办法 js文件报错 第一步,...

    Global site tag (gtag.js) - Google Analytics