好的我知道已经有很多问题要求我提出同样的问题,但问题是这些解决方案都没有对我有用或者我想要的。我的问题是,当我使用Paint类的setTextSize方法时,文本在较小的屏幕上看起来太大,而在较大的屏幕上则较小。我想要的是能够将其更改为我想要的设备尺寸,然后在任何其他设备上尺寸应相应更改(缩小,放大)并且它应该以相同的方式显示(不相同)尺寸)在其他设备上。我已经尝试将密度乘以我想要的dp以及所有其他东西,但它不起作用。
答案 0 :(得分:0)
首先,您使用的任何尺寸都应基于缩放像素。 sp比例相对于用户定义的默认大小的单位。这对于那些很难看到的人来说可以选择更大的文字大小,而且所有文字都会相对于这个选择进行缩放。您不应该在dp或px中设计文本,因为这些都不会随系统字体大小而扩展。当你调用getTextSize / setTextSize时,它应该被视为sp。
至于它在所有屏幕上看起来完全相同 - 你不会得到它,因为不同的OEM使用不同的默认高度和不同的默认字体,更不用说用户可以覆盖其中任何一种。像素完美不应该是你的目标。哪个好,因为它实际上是不可能的。