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

Виджет ShaderMask

Виджет ShaderMask заменяет цвет дочернего виджета закраской. Закраску возвращает shaderCallback: функция получает прямоугольник и отдаёт Shader. Градиент умеет строить такую закраску, например LinearGradient.

Синтаксис

ShaderMask( shaderCallback: (rect) { return LinearGradient( colors: [Color(0xFF1565C0), Color(0xFFC62828)], ).createShader(rect); }, child: child, )

Параметры

Параметр Описание
shaderCallback Функция, которая возвращает закраску по размеру области.
child Дочерний виджет, цвет которого смешивают с закраской.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: ShaderMask( shaderCallback: (rect) { return LinearGradient( colors: [Color(0xFF1565C0), Color(0xFFC62828)], ).createShader(rect); }, child: Text('abcde', style: TextStyle(fontSize: 32, color: Color(0xFFFFFFFF))), ), ), ), )); }

На экране строка 'abcde' слева синяя, справа красная.

Пример

Давайте протянем градиент сверху вниз:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: ShaderMask( shaderCallback: (rect) { return LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [Color(0xFFF9A825), Color(0xFF2E7D32)], ).createShader(rect); }, child: Text('12345', style: TextStyle(fontSize: 32, color: Color(0xFFFFFFFF))), ), ), ), )); }

На экране строка '12345' сверху жёлтая, снизу зелёная.

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

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