Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
357 of 1024 menu
◀ ▶

Метод textScalerOf

Метод textScalerOf виджета MediaQuery он равен MediaQuery.of(context).textScaler и описывает, как система увеличивает текст. Локально масштаб меняют через copyWith и новый виджет MediaQuery.

Синтаксис

MediaQuery.textScalerOf(context)

Параметры

Параметр Описание
context BuildContext виджета под MediaQuery.

Пример

Давайте выведем коэффициент масштаба для размера 16:

import 'package:flutter/material.dart'; class ScaleLabel extends StatelessWidget { const ScaleLabel({super.key}); @override Widget build(BuildContext context) { var scaler = MediaQuery.textScalerOf(context); var res = scaler.scale(16); return Text('$res'); } } void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: ScaleLabel(), ), ), ), ); }

На экране появится число - как система масштабирует базовый размер шрифта.

Пример

Давайте применим textScaler к Text явно:

import 'package:flutter/material.dart'; class ScaledText extends StatelessWidget { const ScaledText({super.key}); @override Widget build(BuildContext context) { var scaler = MediaQuery.textScalerOf(context); return Text( '12345', textScaler: scaler, style: const TextStyle(fontSize: 20), ); } } void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: ScaledText(), ), ), ), ); }

На экране текст '12345' будет того же размера, что и остальной интерфейс системы.

Смотрите также

  • метод copyWith,
    который принимает параметр textScaler
  • метод of,
    который возвращает textScaler внутри MediaQueryData
  • класс MediaQueryData,
    где лежит поле textScaler
  • виджет MediaQuery,
    через который можно переопределить масштаб для поддерева
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить