第一行代码-3.6 单位和尺寸
来源:互联网 发布:java 代码 编辑:程序博客网 时间:2024/05/22 14:16
1、px和pt
px表示像素,也就是屏幕中可以显示的最小元素单元。我们应用里任何可见的东西都是由一个个像素点组成的。单独一个像素点非常的微小,肉眼是无法看见的,可是当许许多多的像素点聚集到一起时,就可以拼接成五彩缤纷的图案。
pt是磅数,一磅约等于1/72英寸,一般作为字体的单位使用。
在PC上的时候,px和pt使用得心应手,但是由于手机的分辨率各不相同,相同的px在分辨率小的手机上比较合适的,在分辨率大的手机上就会显得比较小。(前提:两个手机一样大)
2、dp和sp
dp 是密度无关像素的意思,也被称作dip,和px 相比,它在不同密度的屏幕中的显示比例将保持一致。
sp 是可伸缩像素的意思,它采用了和dp 同样的设计理念,解决了文字大小的适配问题。
那么相同的dp是怎么保证显示效果的一致呢?这里要谈到另一个概念:dpi(屏幕每英寸包含的像素数),比如一个手机屏幕的宽是2 英寸长是3 英寸,如果它的分辨率是320*480 像素,那这个屏幕的密度就是160dpi,如果它的分辨率是640*960,那这个屏幕的密度就是320dpi,因此密度值越高的屏幕显示的效果就越精细。
所以dp*dpi才是显示到手机的像素数。dpi高的手机,需要更多的像素才能达到相同的效果。
通过下面的代码可以显示手机的dpi:
float xdpi = getResources().getDisplayMetrics().xdpi;float ydpi = getResources().getDisplayMetrics().ydpi;
根据Android 的规定,在160dpi 的屏幕上,1dp 等于1px,而在320dpi 的屏幕上,1dp就等于2px。因此,使用dp 来指定控件的宽和高,就可以保证控件在不同密度的屏幕中的显示比例保持一致。
所以对于我现在正在调试的手机来说,指定宽度为200dp和200*3/2=300px的效果应该是一样的。测试代码如下:
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <Button android:layout_width="300px" android:layout_height="wrap_content" android:text="button1"/> <Button android:layout_width="200dp" android:layout_height="wrap_content" android:text="button2"/></LinearLayout>
实际效果如下:
- 第一行代码-3.6 单位和尺寸
- 单位和尺寸
- 屏幕和尺寸单位
- 单位和尺寸
- 单位和尺寸
- dp sp单位和尺寸
- 屏幕的单位和尺寸
- Android的单位和尺寸
- Android中的单位和尺寸
- 第一行代码Android-------布局和UI
- 第一行代码-ListView和RecycleView
- 尺寸单位
- 第一行代码
- 第一行代码 读后感
- 第一行代码-笔记
- 第一行代码
- 第一行代码
- 《第一行代码》读后感
- Hadoop完全分布式集群安装(Ubuntu)
- 车联网API——位置、距离
- noip2004-合并果子 2008.10.22
- 虚拟机下Linux网络设置几种方式的区别
- BZOJ_P1087&Codevs_P2451 [SCOI2005]互不侵犯King(状态压缩DP)
- 第一行代码-3.6 单位和尺寸
- 挑战极限 Oracle数据库一秒导百万数据
- noip2003加分二叉树 2008.10.30
- Python装饰器学习(九步入门)
- "Edit Document" requires a Microsoft SharePoint Foundation-compatible Application错误的解决方案
- Android Error —— 自定义控件FindViewById() 返回 Null
- noip2004合唱队形2008.11.4
- hihoCoder - 1093 - 最短路径·三:SPFA算法
- 继承的好处