What is unit of measurement in flutter

2019-04-21 12:35发布

问题:

as usual, we use dp for Android and pt(point) for ios as a unit of measurement.

1 pt = 1/72 inch

1 dp = 1/160 inch

But i don't what is unit of measurement in flutter

example:

SizedBox(height: 16.0)

or

TextStyle(fontSize: 23.0)

It just a double number, how many dp or pt equal to 1.0 (flutter)? How is it calculated?

回答1:

From https://docs.flutter.io/flutter/dart-ui/Window/devicePixelRatio.html :

The number of device pixels for each logical pixel. This number might not be a power of two. Indeed, it might not even be an integer. For example, the Nexus 6 has a device pixel ratio of 3.5.

Device pixels are also referred to as physical pixels. Logical pixels are also referred to as device-independent or resolution-independent pixels.

By definition, there are roughly 38 logical pixels per centimeter, or about 96 logical pixels per inch, of the physical display. The value returned by devicePixelRatio is ultimately obtained either from the hardware itself, the device drivers, or a hard-coded value stored in the operating system or firmware, and may be inaccurate, sometimes by a significant margin.

The Flutter framework operates in logical pixels, so it is rarely necessary to directly deal with this property.