有必要弄清楚Android中我们常用的几种字体单位:
1.px(象素):屏幕实际的象素,常说的分辨率1024×768pixels,就是横向1024px,纵向768px;不同设备显示效果相同;
2.in(英寸):屏幕的物理尺寸,每英寸=2.54CM;
3.mm(毫米):屏幕的物理尺寸;
4.pt(点):屏幕的物理尺寸,1/72英寸;
5.dp/dip:与密度无关的象素,一种基于屏幕密度的抽象单位;在每英寸160点的显示器上,1dp=1px;但dp和px的比例会随着屏幕密度的变化而改变,不同设备有不同的显示效果;
6.sp:与刻度无关的象素,主要用于字体显示,作为文字显示大小的单位。
因为手机的分辨率各不相同,一 个200px宽的按钮在低分辨率的手机上可能将近占据满屏,而到了高分辨率的手机上可能只 占据屏幕的一半
所以使用dp 和 sp
什么叫密度?Android 中的密度就是屏幕每英 寸所包含的像素数,通常以 dpi 为单位
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;
Log.d("MainActivity", "xdpi is " + xdpi);
Log.d("MainActivity", "ydpi is " + ydpi);
} }
网友评论