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é?
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é.
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.