Skip to content

Instantly share code, notes, and snippets.

View roipeker's full-sized avatar
🏠
Working from home

Roi Peker roipeker

🏠
Working from home
View GitHub Profile
@roipeker
roipeker / keyboard_bar_input.dart
Created August 17, 2021 00:32
Soft Keyboard bar input text for quick editing.
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
/// Add it under MaterialApp.
class KeyboardBarInput extends StatefulWidget {
final Widget child;
@roipeker
roipeker / hint.txt
Last active August 16, 2021 16:42
quick test for dartpad.
trying to see if it works.
@roipeker
roipeker / gradient_input_border.dart
Last active August 13, 2021 17:06
concept for Gradient input border for TextFields
import 'dart:math' as math;
import 'dart:ui';
import 'package:flutter/material.dart';
/// Gradient Shader in outline input borders.
/// Doesn't merge solid color BorderSide and GradientBorderSide.
class OutlineInputBorderShader extends OutlineInputBorder {
const OutlineInputBorderShader({
GradientBorderSide borderSide = const GradientBorderSide(),
@roipeker
roipeker / main.dart
Last active August 11, 2021 03:18
Canvas drawArc slices
import 'dart:math' as math;
import 'package:flutter/material.dart';
double deg2rad(double deg) => deg * math.pi / 180;
void main() {
runApp(MyApp());
}
@roipeker
roipeker / box_data.dart
Last active August 6, 2021 02:09
graphx falling boxes (burn background)
import 'package:flutter/material.dart';
import 'package:graphx/graphx.dart';
abstract class SampleData {
static Future<void> cacheSvgData() async {
for (var string in boxIcons) {
final result = await SvgUtils.svgDataFromString(string);
boxSvgs.add(result);
}
}
@roipeker
roipeker / main.dart
Created July 14, 2021 20:30
GetX/Material issue with locales
import 'package:flutter/material.dart';
import 'package:get/get.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
@roipeker
roipeker / levenshtein.dart
Created June 24, 2021 23:20
basic Dart's Levenshtein distance.
import 'dart:math' as math;
/// see https://en.wikipedia.org/wiki/Levenshtein_distance
void main() {
/// terms distance can be used as threshold value when you filter similar results.
/// if the number of "editions" is low, you can suppose a typo and provide the "similar"
/// result (maybe using the `int` distance as a sorting method).
print(levenshtein('sittin', 'sitting'));
print(levenshtein('casa', 'calle'));
}
@roipeker
roipeker / custom_dropdown.dart
Last active June 23, 2021 18:55
Flutter's CustomDropdownButton. Exposes some extra params for fine tunning the UI.
/// new "custom" parameters:
/// -menuRadius: menu corner radius [BorderRadius]
/// -menuDecoration: background [BoxDecoration]
/// -menuPadding: menu vertical padding [EdgeInsets]
/// -menuClip: To clip (mask) menu's content [Clip.none]
/// -itemPadding: item's horizontal padding [EdgeInsets]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
@roipeker
roipeker / main.dart
Created June 4, 2021 19:54
GraphX issue #19: simpler gesture transform (zoom, drag, rotate)
/// live demo: https://graphx-gesture-simple.surge.sh
import 'package:flutter/material.dart';
import 'package:graphx/graphx.dart';
import 'package:graphx_zoompan/simple_zoom.dart';
void main() {
runApp(AppSimpleZoom());
}
@roipeker
roipeker / main.dart
Created June 4, 2021 16:38
GraphX issue #19: gesture detector sample (zoom/pan/rotation with easing)
import 'package:flutter/material.dart';
import 'package:graphx/graphx.dart';
import 'zoom_scene.dart';
/// Live demo:
/// https://graphx-gesture-sample.surge.sh
///
void main() {