转自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就不解释了,没什么好解释的。
分享到:
相关推荐
此版本nginx可以解决在windows平台上1024句柄的限制:maximum number of descriptors supported by select() is 1024 while connecting to upstream
java解决405 - HTTP method GET is not supported by this URL
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 ...
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 ...
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 ...
government solutions that require deployment of advanced security models, not supported by vanilla Android. We present a prototypical implementation ofASFand demonstrate its effectiveness and ...
C#连接MYSQL8.0的版本老是提示[Authentication method 'caching_sha2_password' not supported by any of the available plugins.] 这个错误,换低版本的MYSQL连接又没有问题,现在把我的经验分享一下,解决这个连接...
Table of supported device for Java Verified.
使用TBS实现doc、pdf等46种格式的文件的在线阅读的源码,为Android studio源码
TBS是腾讯的浏览服务,依托x5内核,对于普通第三方开发者完全免费,使用也没有限制。
Android_System_Supported_Media_Formats
Abstract—Velocity has a non-neglectable influence on the handover delay experienced by a user if the handover is ...frequency scenarios and should be supported by other handover trigger mechanisms. I.
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...
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
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 ...
部分程序在centos下安装时提示:Graphical installers are not supported by the VM
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
android sdk aarch64-linux-android-ld文件 for ubuntu 16.04
Although C is not yet formally supported in Android, author Vladimir Silva reveals how to make it work. This book takes you beyond Android fundamentals and into the world of game development hacks. ...