getResponsiveFontSize method

double getResponsiveFontSize({
  1. double? smallest,
  2. double? largest,
  3. double smallestScreenSize = 320,
  4. double largestScreenSize = 1920,
})

Calcula tamaño de fuente responsivo basado en ancho de pantalla.

Interpola entre smallest y largest según ancho actual en relación a smallestScreenSize y largestScreenSize.

Parámetros:

  • smallest: Tamaño mínimo (default: 12px)
  • largest: Tamaño máximo (default: 20px)
  • smallestScreenSize: Ancho para mínimo (default: 320px)
  • largestScreenSize: Ancho para máximo (default: 1920px)

Ejemplo:

// Básico
context.getResponsiveFontSize()

// Headings
context.getResponsiveFontSize(smallest: 24, largest: 48)

// Solo tablets (600-1200px)
context.getResponsiveFontSize(
  smallest: 14, largest: 18,
  smallestScreenSize: 600, largestScreenSize: 1200,
)

Implementation

double getResponsiveFontSize({
  double? smallest,
  double? largest,
  double smallestScreenSize = 320,
  double largestScreenSize = 1920,
}) {
  smallest ??= AppFontSizes(bodySmall: 12).bodySmall;
  largest ??= AppFontSizes(bodySmall: 20).bodySmall;

  final screenWidth = MediaQuery.sizeOf(this).width;
  return smallest + (largest - smallest) * (screenWidth - smallestScreenSize) / (largestScreenSize - smallestScreenSize);
}