我将EditText
字体大小保持为16sp。但是,当我更改设备字体大小时,EditText
字体大小也会更改。我尝试使用dp
代替sp
,但我怀疑它是否能在不同的屏幕上正常运行。如何使用sp
作为单位保持字体大小不变,无论设备字体大小和屏幕密度如何?
答案 0 :(得分:1)
您应该使用dp
。 dp
和sp
之间的唯一区别是dp
将忽略用户设备的文字大小设置。结果是,无论像素密度如何,以实际单位(点,英寸等)测量的字体大小在所有设备上都是相同的。
请注意,屏幕尺寸决不会影响其中任何一项。如果您希望根据屏幕尺寸的某一部分(例如,宽度)定义文本大小,则Android的单位系统中没有内置任何内容来支持它。您必须在代码中进行计算(同时考虑屏幕尺寸(以像素为单位)和像素密度)或使用替代资源为不同的屏幕尺寸定义尺寸。