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

Метод getClip

Метод getClip класса CustomClipper строит контур по размеру дочернего виджета. На вход приходит размер Size дочернего виджета. На выход отдают контур Path, по которому обрежут.

Синтаксис

Path getClip(Size size)

Пример

Давайте обрежем контейнер треугольником:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: ClipPath( clipper: _TriClipper(), child: Container(width: 180, height: 100, color: Colors.pink), ), ), ), ), ); } class _TriClipper extends CustomClipper<Path> { @override Path getClip(Size size) { final p = Path()..moveTo(size.width/2,0)..lineTo(size.width,size.height)..lineTo(0,size.height)..close(); return p; } @override bool shouldReclip(covariant CustomClipper<Path> old) => false; }

На экране розовый треугольник.

Пример

Давайте изменим контур:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: ClipPath( clipper: _TriClipper(), child: Container(width: 180, height: 100, color: Colors.pink), ), ), ), ), ); } class _TriClipper extends CustomClipper<Path> { @override Path getClip(Size size) { final p = Path()..moveTo(size.width/2,0)..lineTo(size.width,size.height)..lineTo(0,size.height)..close(); return p; } @override bool shouldReclip(covariant CustomClipper<Path> old) => false; }

На экране другая форма обрезки.

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

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