Метод lerp
Метод lerp класса Offset
смешивает dx и dy двух точек.
Доля 0 даёт первую точку, доля 1 вторую.
Синтаксис
Offset.lerp(Offset(0, 0), Offset(40, 20), 0.5)
Параметры
| Параметр | Описание |
|---|---|
a |
Первая точка. |
b |
Вторая точка. |
t |
Доля смешивания от 0 до 1.
|
Пример
Давайте возьмём середину между (0, 0) и (40, 20):
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Offset point = Offset.lerp(Offset(0, 0), Offset(40, 20), 0.5)!;
return Text(point.dx.toStringAsFixed(0) + ' x ' + point.dy.toStringAsFixed(0));
},
),
),
),
),
);
}
На экране 20 x 10.
Пример
Давайте дойдём до второй точки:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Offset point = Offset.lerp(Offset(0, 0), Offset(40, 20), 1)!;
return Text(point.dx.toStringAsFixed(0) + ' x ' + point.dy.toStringAsFixed(0));
},
),
),
),
),
);
}
На экране 40 x 20, это вторая точка целиком.
Смотрите также
-
метод
translate,
который прибавляет к точке отдельный сдвиг по горизонтали и вертикали -
метод
scale,
который умножает координаты точки на коэффициенты -
метод
fromDirection,
который собирает точку из угла и расстояния -
класс
Alignment,
который задаёт точку внутри блока