相关疑难解决方法(0)

从XML获取维度并在运行时设置文本大小

在dimens.xml中,我有:

<dimen name="text_medium">18sp</dimen>
Run Code Online (Sandbox Code Playgroud)

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

int size = context.getResources().getDimensionPixelSize(R.dimen.text_medium);
textView.setTextSize(size).
Run Code Online (Sandbox Code Playgroud)

在10英寸平板电脑(1280 x 800)上,一切正常; 但在手机(800 x 480)上,文本视图的字体非常大.在平板电脑上,大小等于18; 在电话上,它是27.

如果我手动设置大小:

textView.setTextSize(size)
Run Code Online (Sandbox Code Playgroud)

这两种设备的尺寸都很正常.

android

96
推荐指数
1
解决办法
6万
查看次数

以编程方式设置textSize

textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, getResources().getDimension(R.dimen.result_font));
Run Code Online (Sandbox Code Playgroud)

下面的代码可以工作,但是R.dimen.result_font它被视为比实际更大的值.根据屏幕尺寸,它可能约为18sp-22sp或24sp ......但这里设置的尺寸至少约为50sp.有人可以推荐一下吗?

android

55
推荐指数
2
解决办法
4万
查看次数

标签 统计

android ×2