Skip to content

Instantly share code, notes, and snippets.

View Alexi-Zemcov's full-sized avatar

Alexey Zemtsov Alexi-Zemcov

View GitHub Profile
@Alexi-Zemcov
Alexi-Zemcov / overlay_with_hole.dart
Last active March 3, 2023 07:53 — forked from flutter-clutter/overlay_with_hole.dart
Flutter overlay with a hole
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
MyApp({Key? key}) : super(key: key);
@override
@Alexi-Zemcov
Alexi-Zemcov / flutter_techsync_text_height.dart
Last active March 3, 2023 07:35
Text height from DS broke cross axis alignment.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
static const withHeight = TextStyle(
fontSize: 22,
@Alexi-Zemcov
Alexi-Zemcov / List<int>.from
Created August 8, 2023 12:19
Что делать если нужно список с nullable значениями присвоить переменной к списку с not nullable?
void main() async {
// Что делать если нужно список с nullable значениями присвоить переменной к списку с not nullable?
// Исходные данные - список с nullable значениями.
final nullableList = [null, 1, 2, null, 3, 4]; // RuntymeType is List<int?>
// 1) Удалили все null:
nullableList.removeWhere((e) => e == null); // но тип всё еще List<int?>.
// 2) Как не надо делать:
/// Изменение размера, разворот изображения.
///
/// Чтобы изображение не искажалось преобразование происходит
/// по высоте (или ширине, в зависимости от соотношения [image.width]/[image.height]).
///
/// Дальнейшее выравнивание под размеры (заполнение матрицы) происходит
/// в методе _getEncodeInputTensor.
Image prepareImage(
Image image, {
@Alexi-Zemcov
Alexi-Zemcov / infinity_animation_golden_test.dart
Last active December 9, 2023 21:29
Пример как создать голден тест для бесконечной анимации
import 'package:flutter/material.dart';
import 'package:golden_toolkit/golden_toolkit.dart';
/// Пример как создать голден тест для бесконечной анимации.
///
/// Если вкрадце, создаём обычный голден, а затем в функции screenMatchesGolden
/// объявляем customPump в котором задаём через какое время мы хотим сделать снимок.
void main() {
testGoldens('Infinity animation', (tester) async {
final builder = GoldenBuilder.column()