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

Метод subtract

Метод subtract класса EdgeInsets уменьшает каждую сторону на значение из other. Отрицательные результаты не допускаются: сторона не опускается ниже нуля.

Синтаксис

large.subtract(small)

Параметры

Параметр Описание
other Отступы, которые вычитают из текущего набора.

Пример

Давайте уменьшим padding, убрав внутреннее поле:

import 'package:flutter/material.dart'; void main() { const outer = EdgeInsets.all(32); const inner = EdgeInsets.all(12); final net = outer.subtract(inner); runApp( MaterialApp( home: Scaffold( body: Padding( padding: net, child: Text('abcde'), ), ), ), ); }

На экране останется эффект padding 20 px со всех сторон.

Пример

Давайте сравним исходный и уменьшенный inset:

import 'package:flutter/material.dart'; void main() { const full = EdgeInsets.fromLTRB(40, 16, 40, 16); const cut = EdgeInsets.symmetric(horizontal: 24); runApp( MaterialApp( home: Scaffold( body: Row( children: [ Expanded( child: Padding( padding: full, child: Container( color: Colors.grey.shade300, child: Text('abcde'), ), ), ), Expanded( child: Padding( padding: full.subtract(cut), child: Container( color: Colors.grey.shade500, child: Text('12345'), ), ), ), ], ), ), ), ); }

На экране правая колонка шире: горизонтальный padding стал 16 px вместо 40 px.

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

  • метод add,
    который прибавляет второй inset
  • метод subtract у BorderRadius,
    который уменьшает радиусы углов
  • метод lerp,
    который плавно меняет отступы
  • класс EdgeInsets,
    у которого вызывают subtract
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить