RectF 使用 dp 还是 px?

e-i*_*128 3 android canvas

在 Canvas 中,用 RectF 绘制一个矩形,需要在 dp 或 px 中设置 top 和 left 吗?

Integer padding = 10;
Integer width = 100; // It is dp or px?
Integer height = 50;

RectF position = new RectF();
position.top = 0 + padding;
position.bottom = position.top + height;
position.left = 0 + padding;
position.right = position.left + width;
Run Code Online (Sandbox Code Playgroud)

http://developer.android.com/intl/es/reference/android/graphics/RectF.html 它不指示值是以 px 还是 dp 表示。

小智 6

正如已经指出的那样,Canvas 和 RectF 使用 px 而不是 dp。至于文档,Canvas ( http://developer.android.com/intl/es/reference/android/graphics/Canvas.html ) 和 RectF的文档只提到像素。

由于没有明确指出它们是dp,而且两个类都是直接派生自java.lang.Object,所以只能得出结论,它一定是“普通”像素。

如果由于某种原因,您需要将 dp 转换为 px,反之亦然,请查看此文档:http : //developer.android.com/intl/es/guide/practices/screens_support.html