getDimension和getDimensionPixelSize的区别

我在手动绘制View的时候,需要绘制一个0.68dp粗的线,由于并不是整数个dp,所以我一开始用getResources().getDimension()来获取,得到的粗细就是1.36px

然后设置Paint.setStrokeWidth(1.36),这样画出来的线实际上是2px粗的(1280*720屏幕)。

但是自动绘制的时候,0.68dp的线实际是占1px宽度的。

后来经过研究,使用getDimensionPixelSize来获取,则得到的粗细是1px,画出来的线也是1px。

由此可以看出getDimension获取的结果是按照dp和px的比例得到的浮点数据,

而getDimensionPixelSize获取的结果是按照dp和px的比例得到的整数数据,而由于setStrokeWidth的参数是浮点类型的,多种原因导致getDimension画出的线不是1px

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值