在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)
这两种设备的尺寸都很正常.
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 ×2