web-dev-qa-db-ja.com

フラッターの測定単位とは

通常どおり、Androidにはdpを、iosにはpt(point)を測定単位として使用します。

1 pt = 1/72インチ

1 dp = 1/160インチ

しかし、私はフラッターの測定単位は何ですか

例:

SizedBox(高さ:16.0)

または

TextStyle(fontSize:23.0)

それはちょうど2倍の数ですが、1.0(フラッター)に等しいdpまたはptはいくつですか?どのように計算されますか?

17

https://docs.flutter.io/flutter/Dart-ui/Window/devicePixelRatio.html から:

各論理ピクセルのデバイスピクセルの数。この数は2の累乗ではない場合があります。実際、それは整数ではないかもしれません。たとえば、Nexus 6のデバイスピクセル比は3.5です。

デバイスピクセルは、物理ピクセルとも呼ばれます。論理ピクセルは、デバイスに依存しない、または解像度に依存しないピクセルとも呼ばれます。

定義により、物理ディスプレイのセンチメートルあたり約38の論理ピクセル、またはインチあたり約96の論理ピクセルがあります。 devicePixelRatioによって返される値は、最終的にはハードウェア自体、デバイスドライバー、またはオペレーティングシステムやファームウェアに格納されているハードコードされた値のいずれかから取得され、不正確になる場合があります。

Flutterフレームワークは論理ピクセルで動作するため、このプロパティを直接処理する必要はほとんどありません。

6
Tree

それはすべてデバイスのピクセル比に分解されます。例えば:

var pixelRatio = MediaQuery.of(context).devicePixelRatio; // 2

次のように、SizedBoxheight: 10とともに使用するとします。

SizedBox(height: 10);

つまり、そのデバイスではSizedBox2 * 10 = 20dpになります。

0
CopsOnRoad