web-dev-qa-db-fra.com

Qu'est-ce que l'unité de mesure en flottement

comme d'habitude, nous utilisons dp pour Android et pt (point) pour ios comme unité de mesure.

1 pt = 1/72 pouce

1 dp = 1/160 pouce

Mais je ne sais pas quelle est l'unité de mesure en flottement

exemple:

SizedBox (hauteur: 16,0)

ou

TextStyle (fontSize: 23.0)

C'est juste un double nombre, combien de dp ou pt égal à 1.0 (flutter)? Comment est-il calculé?

17
Khánh Vũ Đỗ

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

Le nombre de pixels du périphérique pour chaque pixel logique. Ce nombre n'est peut-être pas une puissance de deux. En effet, ce n'est peut-être même pas un entier. Par exemple, le Nexus 6 a un ratio de pixels de 3,5.

Les pixels de l'appareil sont également appelés pixels physiques. Les pixels logiques sont également appelés pixels indépendants du périphérique ou indépendants de la résolution.

Par définition, il y a environ 38 pixels logiques par centimètre, soit environ 96 pixels logiques par pouce, de l'affichage physique. La valeur renvoyée par devicePixelRatio est finalement obtenue soit du matériel lui-même, des pilotes de périphérique, soit d'une valeur codée en dur stockée dans le système d'exploitation ou le micrologiciel, et peut être inexacte, parfois avec une marge importante.

Le framework Flutter fonctionne en pixels logiques, il est donc rarement nécessaire de traiter directement cette propriété.

6
Tree

Tout se décompose en ratio de pixels de l'appareil. Par exemple:

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

Et disons que vous utilisez SizedBox avec height: 10, comme:

SizedBox(height: 10);

Cela signifie que votre SizedBox serait 2 * 10 = 20dp grand sur cet appareil.

0
CopsOnRoad