import 'package:flutter/material.dart'; class LimitedFontSizeUtil { static double getCalculateFontSize( BuildContext context, double baseFontSize, double maxFontSize, double limitedFontSize) { final textScaler = MediaQuery.textScalerOf(context); final double scaledFontSize = baseFontSize * textScaler.scale(1); return scaledFontSize > maxFontSize ? limitedFontSize : scaledFontSize; } static double getNoResizeFont(BuildContext context, double baseFontSize) { final textScaler = MediaQuery.textScalerOf(context); final double noscaledFontSize = baseFontSize / textScaler.scale(1); return noscaledFontSize; } static double getScaledSizedBoxSize( BuildContext context, double baseFontSize, double maxFontSize, double sizeIfExceeded, double sizeIfNotExceeded) { final textScaler = MediaQuery.textScalerOf(context); final double scaledFontSize = baseFontSize * textScaler.scale(1); return scaledFontSize > maxFontSize ? sizeIfExceeded : sizeIfNotExceeded; } static double getBodyFontSize(BuildContext context) { final textScaler = MediaQuery.textScalerOf(context); final double scaledFontSize = 12 * textScaler.scale(1); return scaledFontSize > 12 ? 10 : scaledFontSize; } static double getInputFontSize(BuildContext context) { final textScaler = MediaQuery.textScalerOf(context); final double scaledFontSize = 12 * textScaler.scale(1); return scaledFontSize > 12 ? 10 : scaledFontSize; } static double getHeaderFontSize(BuildContext context) { final textScaler = MediaQuery.textScalerOf(context); final double scaledFontSize = 16 * textScaler.scale(1); return scaledFontSize > 16 ? 14 : scaledFontSize; } static double getSubHeaderFontSize(BuildContext context) { final textScaler = MediaQuery.textScalerOf(context); final double scaledFontSize = 14 * textScaler.scale(1); return scaledFontSize > 14 ? 12 : scaledFontSize; } }