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

Метод copyWith

Метод copyWith класса EdgeInsets создаёт копию с новыми значениями только у переданных сторон. Остальные стороны остаются как в исходнике.

Синтаксис

insets.copyWith(left: 24, bottom: 16)

Параметры

Параметр Описание
left Новый отступ слева, если передан.
top Новый отступ сверху, если передан.
right Новый отступ справа, если передан.
bottom Новый отступ снизу, если передан.

Пример

Давайте увеличим только левый отступ:

import 'package:flutter/material.dart'; void main() { const base = EdgeInsets.all(12); final wider = base.copyWith(left: 48); runApp( MaterialApp( home: Scaffold( body: Padding( padding: wider, child: Text('abcde'), ), ), ), ); }

На экране текст сильнее сдвинется от левого края, остальные поля останутся 12 px.

Пример

Давайте обнулим верхний отступ у симметричного padding:

import 'package:flutter/material.dart'; void main() { const base = EdgeInsets.symmetric(vertical: 20, horizontal: 16); final tuned = base.copyWith(top: 0); runApp( MaterialApp( home: Scaffold( body: Padding( padding: tuned, child: Align( alignment: Alignment.topCenter, child: Text('12345'), ), ), ), ), ); }

На экране подпись прижмётся к верху, снизу останется поле 20 px.

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

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