Метод lerp
Метод lerp класса EdgeInsets интерполирует каждую сторону
между a и b по доле t.
Применяют в анимациях, когда padding меняется во времени.
Синтаксис
EdgeInsets.lerp(a, b, t)
Параметры
| Параметр | Описание |
|---|---|
a |
Начальные отступы. |
b |
Конечные отступы. |
t |
Доля от 0.0 до 1.0.
|
Пример
Давайте возьмём середину между малым и большим padding:
import 'package:flutter/material.dart';
void main()
{
const tight = EdgeInsets.all(4);
const loose = EdgeInsets.all(40);
final mid = EdgeInsets.lerp(tight, loose, 0.5)!;
runApp(
MaterialApp(
home: Scaffold(
body: Padding(
padding: mid,
child: Container(
color: Colors.indigo.shade100,
child: Text('abcde'),
),
),
),
),
);
}
На экране вокруг текста поле около 22 px со всех сторон.
Пример
Давайте покажем три доли lerp в колонке:
import 'package:flutter/material.dart';
void main()
{
const a = EdgeInsets.symmetric(horizontal: 8);
const b = EdgeInsets.symmetric(horizontal: 48);
runApp(
MaterialApp(
home: Scaffold(
body: Column(
children: [
Padding(
padding: EdgeInsets.lerp(a, b, 0)!,
child: Text('abcde'),
),
Padding(
padding: EdgeInsets.lerp(a, b, 0.5)!,
child: Text('12345'),
),
Padding(
padding: EdgeInsets.lerp(a, b, 1)!,
child: Text('abcde'),
),
],
),
),
),
);
}
На экране три строки с нарастающим горизонтальным отступом.
Смотрите также
-
метод
lerpуColor,
который смешивает два цвета -
метод
lerpуBoxDecoration,
который анимирует оформление -
метод
add,
который складывает inset без анимации -
класс
EdgeInsets,
между которыми вызываютlerp