我有一组维度文件,如:
\ RES \值正常-xxhdpi \ dimens.xtml
<!-- Default screen margins, per the Android Design guidelines. -->
<string name="dimention_id">normal-xxhdpi</string>
<dimen name="activity_margin">8dp</dimen>
<dimen name="big_text_size">8sp</dimen>
<dimen name="mid_text_size">5sp</dimen>
<dimen name="small_text_size">3sp</dimen>
<dimen name="logo_size">100dp</dimen>
<dimen name="button_height">55dp</dimen>
<dimen name="button_width">200dp</dimen>
<dimen name="panel_counter_width">190dp</dimen>
当我按Context.getResources().getDimension(R.dimen.mid_text_size)
加载此尺寸时,我收到&#34; mid_text_size&#34;等于20.
我确定它是正确的文件,因为将值5更改为其他值将在应用程序中显示更改。
为什么它从5扩展到20?
答案 0 :(得分:1)
函数Resources.getDimenstion(int)的文档说明:
资源维度值乘以适当的指标。
所以可能,如果你检查DisplayMetrics.scaledDensity,它会显示4的值。
请记住,sp
是一个相对值,应该保证,在所有屏幕尺寸,尺寸和分辨率上字体看起来都一样。