将sp中的`textSize`设置为`textView`不起作用

时间:2015-12-07 21:16:40

标签: java android xml dpi

我正在尝试将sp中的textSize设置为textView,以便在所有设备上正确显示。这是我的代码:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:textSize="30sp" />

在低分辨率设备上,文字如下:
    enter image description here 在中等分辨率的设备上,文字是这样的:
    enter image description here 在高分辨率设备上,文字是这样的:
    enter image description here

我需要在所有设备上正确查看该文本。我尝试使用android:textSize="30dp"但结果相同。我哪里错了? Thnaks!

2 个答案:

答案 0 :(得分:0)

使用sp指示大小也受设备上字体首选项的影响。具有较大字体首选项的设备与具有较小字体首选项的设备显示具有相同sp的文本行将看起来不同。

答案 1 :(得分:0)

30 sp是设备的当前值。这意味着当您使用sp时,所有设备都会通过我们的设备解析来改变大小。如果你想在所有设备中看到相同的textview结果,你可以在你的应用程序中使用px或dp。

  所有设备

重要 PX DP 效果不佳然后你应该用sp代替   的的TextView