android - 如何在运行时以编程方式使用 xml 中的维度设置文本大小?

标签 android textview dimensions

在dimens.xml中,我有:

<dimen name="text_medium">18sp</dimen>

在运行时,我得到这个值并设置 TextView 的文本大小:

int size = context.getResources().getDimensionPixelSize(R.dimen.text_medium);
textView.setTextSize(size).

在 10 英寸平板电脑 (1280 x 800) 上,一切正常;但在手机 (800 x 480) 上, TextView 的字体非常大。在平板电脑上,大小等于 18;电话里是 27 岁。

如果我手动设置大小:

textView.setTextSize(size)

两个设备上的大小都是正常的。

最佳答案

dimens.xml中添加维度:

   <dimen name="text_medium">18sp</dimen>

在代码中设置大小:

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

关于android - 如何在运行时以编程方式使用 xml 中的维度设置文本大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14540293/

相关文章:

android - 在textview末尾显示三个点

java - 如何从 Java.awt.print.PrinterJob 获取 PageFormat

java - Android Studio 监听器导致错误

android - 这是使用什么模式?

android - 什么是android :includeFontPadding for?

android - 如何在Android中制作传统蒙文字体TextView

php - 计算新的图像大小 - 我怎样才能使它更有效/更短

release-management - 在线用户指南、维基或文档上是否有任何 Serena Dimensions CM?

java - 使用 viewPager 时从不可见的 fragment 中隐藏 View

android - 我可以在 Android MediaPlayer 中使用基本 HTTP 身份验证吗?