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

Виджет RepaintBoundary

Виджет RepaintBoundary говорит движку рисовать дочерний виджет отдельным слоем. Когда меняется соседнее дерево, этот слой можно не перерисовывать. На экране слой не виден: виден только дочерний виджет.

Синтаксис

RepaintBoundary( child: child, )

Параметры

Параметр Описание
child Дочерний виджет, который перерисовывается отдельным слоем.

Пример

Давайте положим строку в отдельный слой:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: RepaintBoundary( child: Text('abcde', style: TextStyle(fontSize: 24)), ), ), ), )); }

На экране строка 'abcde'. Отдельный слой перерисовки глазом не отличается от обычного текста.

Пример

Давайте так же отделим цветную плашку:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: RepaintBoundary( child: ColoredBox( color: Color(0xFF1565C0), child: Padding( padding: EdgeInsets.all(12), child: Text('12345', style: TextStyle(color: Color(0xFFFFFFFF))), ), ), ), ), ), )); }

На экране синяя плашка со строкой '12345'. Плашка перерисовывается отдельно от остального экрана.

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

  • виджет PhysicalModel,
    тень и обрезка по форме
  • виджет ShaderMask,
    градиентная маска поверх дочернего виджета
  • виджет Transform,
    сдвиг, поворот, масштаб
  • виджет RotatedBox,
    поворот на четверти оборота
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить