Flutter Pulse
645 subscribers
401 photos
885 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Масштабирование изображения

Flutter предоставляет виджет InteractiveViewer для масштабирования, перемещения и трансформации любого виджета. Вот как можно масштабировать изображение с его помощью:


InteractiveViewer(
key: previewWidgetKey,
transformationController: TransformationController()..value = (Matrix4.identity()..scale(scale)), // масштабирование
scaleEnabled: false,
constrained: false,
panEnabled: false,
clipBehavior: Clip.antiAlias,
child: Image.asset("name_of_your_image.png"), // ваше изображение
)


Как это работает?

Матрица 4x4 используется для трансформации:

[ m00 m01 m02 m03 ]
[ m10 m11 m12 m13 ]
[ m20 m21 m22 m23 ]
[ m30 m31 m32 m33 ]


- Левый верхний 3x3 блок отвечает за вращение и масштабирование.
- Последний столбец (m03, m13, m23) используется для перемещения объектов.
- Нижняя строка используется для перспективных трансформаций (для 3D-эффектов).

Если масштаб < 1, мы приближаем изображение.
Если масштаб > 1, мы отдаляем изображение.

Оцените нашу новую рубрику! 👍 Оставляйте ваши отзывы в комментариях! 💬

Все подобные советы можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #CodingTips #AppDevelopment
3👍1
Null-Aware элементы
Dart 3.8 ввёл действительно практичную новую функцию языка, называемую null-aware элементами. Она позволяет уменьшить количество шаблонного кода для проверки null элементов перед их отображением.

До:


@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
if (title != null)
title
...
]
)
);
}



После:


@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
?title <-----
...
]
)
);
}



Оцените новую рубрику лайком 👍, если считаете её полезной! 💡
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #DartLanguage #NullAware #CodingTips #MobileDevelopment #FlutterTips
👍1🔥1