昨天遇着这样一个Bug,系统设置里把字体设置为超大后并切换为英文模式下,程序中的字体便显示不全。
在这里总结一下,常用解决解决办法有两个:
一.在xml文件里设置字体:
把字体大小从textSize="18sp"设置为textSize="18dp",这样以后这个问题便解决了,但是缺点就是:字体大小不会再随系统设置字体大小变化而变化了
dp:
这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。
不同的手机/平板可能具有不同的像素密度,例如同为4寸手机,有480x320分辨率的也有800x480分辨率的,前者的像素密度就比较低。Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超