1、使用密度独立像素(dp)
一个dp代表一个密度独立像素,也就相当于在160 dpi(1英寸有160个像素点,1英寸为2.54厘米)的一个像素的物理尺寸,sp也是一个基本的单位,不过它主要是用在文本尺寸上(它也是一种尺寸规格独立的像素),所以,你在定义文本尺寸的时候应该使用这种规格单位(不要使用在布尺寸上)。
Android下设置文字大小用sp还是dp?
https://www.jianshu.com/p/e89bc2890136
结论:
1、当修改系统字体大小时,字体大小以dp为单位时,大小不变;
2、当修改系统字体大小时,字体大小以sp为单位时,大小跟随变化;
2、提供可供选择的图片
针对不同的设备密度提供不同的bitmap资源:小屏幕(low),medium(中),high(高)以及超高(extra-high)密度。
为了提供更好的用户体验,你应该使用以下几种规格来缩放图片大小,为不同的屏幕密度提供相应的位图资源:
xhdpi:2.0
hdpi:1.5
mdpi:1.0(标准线)
ldpi:0.75
这也就意味着如果在xhdpi设备上你需要一个200x200的图片,那么你则需要一张150x150的图片用于hdpi,100x100的用于mdpi以及75x75的用户ldpi设备。
然后将这些图片资源放到res/对应的目录下面,系统会自动根据当前设备屏幕密度自动去选择合适的资源进行加载:
MyProject/
res/
drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png
这样放置图片资源后,不论你什么时候使用@drawable/awesomeimage,系统都会给予屏幕的dp来选择合适的图片。
后记:
对文章中插入链接引用的文章的作者表示感谢。