今天我遇到一个问题,就是改东西的时候,看到同事有用到下面的东西:
在res->values->dimensions中定义这样:
<item type="dimen" name="screen_offset_percentage">8%</item>
<item type="dimen" name="screen_offset_percentage">8%</item>
使用的时候:
screenOffset = (int)(screenWidth * res.getFraction(R.dimen.screen_offset_percentage, 1, 1));
screenOffset = (int)(screenWidth * res.getFraction(R.dimen.screen_offset_percentage, 1, 1));
用我的Nexus7测试后数据如下:
Nexus 7: width = 1200 , height = 1774
res.getFraction(R.dimen.nav_portrait_screen_offset_percentage, 1, 1), 这个值在我的nexus7 是:0.08000004
res.getFraction(R.dimen.nav_portrait_screen_offset_percentage, 1, 1), 这个值在我的nexus7 是:0.08000004
screenOffset = (int)(width * res.getFraction(R.dimen.screen_offset_percentage, 1, 1)); 这个值是96
我不理解的是:为啥,
res.getFraction(R.dimen.nav_portrait_screen_offset_percentage, 1, 1) 不是 1200 × 8% = 96, 而是0.08000004 × 1200,0.08000004 是怎么计算出来的呢?