仅使用XML的不同分辨率密度的文本大小

时间:2016-01-21 11:45:48

标签: android android-layout textview

我们如何根据分辨率密度更改textSize?

我在SO上找到了几种方法,但是所有这些方法都使用java代码来实现。

但我需要一个java免费方法,因为我有一些地方可以在XML上设置textSize,而在Java代码上设置一些。

在xml中,我这样做

        android:textSize="@dimen/FONT_SIZE_SMALL"

但有时我需要通过java代码设置它。

        textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.FONT_SIZE_SMALL);

有什么想法吗?它可行吗?

2 个答案:

答案 0 :(得分:0)

在xml中的textSize单元中使用sp。它将适应所有分辨率。

希望这有帮助。

<强>更新 另请参阅Text size with different resolution,其中提出了针对不同分辨率的一些缩放因子。

答案 1 :(得分:0)

您可以使用dimens.xml中的<dimen>标记在特定于分辨率的值文件夹中声明尺寸 例如

<dimen name="my_text_view_size">12sp</dimen>

您可以为不同的分辨率设置多个值文件,并为每个分辨率为同一个常量指定不同的值。然后将常量分配给文本化。

查看此内容以获取更多详细信息 https://stackoverflow.com/a/16910589/3329488