我保持我的EditText字体大小为16sp。但是,当我更改设备字体大小时,EditText字体大小也会更改。我试着用dp代替sp,但我怀疑它是否能在不同的屏幕上很好地工作。如何使用sp作为单位来保持字体大小恒定,而与设备字体大小和屏幕密度无关?
发布于 2015-12-17 16:07:46
您应该使用dp。dp和sp之间的唯一区别是,dp将忽略用户对设备的文本大小设置。结果将是以实际单位(点、英寸等)测量的字体大小。无论像素密度如何,在所有设备上都是相同的。
请注意,屏幕大小永远不会影响这一点。如果你想根据屏幕尺寸的某一小部分(例如宽度)来定义文本大小,Android的单位系统中没有内置的东西来支持这一点。您必须在代码中进行计算(同时考虑以像素为单位的屏幕大小和像素密度),或者使用不同屏幕大小的替代资源来定义大小。
https://stackoverflow.com/questions/34329019
复制相似问题