Android res.getFraction()

本文介绍了Android原生代码中SystemUI如何使用`res.getFraction()`来获取资源中的分数值,并通过XML示例说明了如何定义分数。通过示例代码展示了如何根据不同类型的分数进行计算,以及`getFraction()`方法的参数作用。
摘要由CSDN通过智能技术生成

今天我遇到一个问题,就是改东西的时候,看到同事有用到下面的东西:

在res->values->dimensions中定义这样:
<item type="dimen" name="screen_offset_percentage">8%</item> 

使用的时候:
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
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 是怎么计算出来的呢?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值