1、在xml布局文件中,控件的宽度和高度用 dp ; 字体大小用 sp
2、根据屏幕的宽高来动态的适配 , 获取屏幕的宽高的两种方法:
第一种方法:
这种方法会报警告,The method getWidth() from the type Display is deprecated
意思是这种方法已经过时,所以建议用第二种方法:
第二种方法:
注意:1、在 Java 代码中获取的宽度和高度,以 px (像素) 为单位。 与xml 文件中的 dp 不一样 。
2、经过测试,用两种方法分别获取手机屏幕的宽度和高度,得到的结果是一样的 。
我的手机是小米1 ,480 x 854 px
3、通常情况下,一个 layout 布局文件里面的控件的大小,有两种设置控件宽高的 方法 。
一种是在 xml 中设置 , 如果一个控件在 xml 中有定义,控件的宽度和高度用 dp ; 字体大小用 sp 。
另外一种 就是在java 代码中动态设置 。
4、因为在 xml 布局中 单位是 dp , 在 java 代码中 的单位是 px 。
为了两者的大小保持一致,所以需要将两者进行换算 。
DensityUtil 类
5、由于android 的屏幕大小有很多中,分辨率也是多种多样的 。
为了准确的获取屏幕的高度和宽度,需要在AndroidManifest.xml 中加入 supports-screens 节点 。