Skip to content

Instantly share code, notes, and snippets.

View CoderNamedHendrick's full-sized avatar
🥷

Sebastine Odeh CoderNamedHendrick

🥷
View GitHub Profile
@CoderNamedHendrick
CoderNamedHendrick / chat_message_render_box.dart
Created May 15, 2023 19:32 — forked from craiglabenz/chat_message_render_box.dart
Demonstrates a custom RenderObject that draws chat messages like WhatsApp, where the `sentAt` timestamp is tucked into the last line if it fits
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
@CoderNamedHendrick
CoderNamedHendrick / animated_splash.dart
Last active June 15, 2023 20:00
A splash screen with some animations going on.
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
@CoderNamedHendrick
CoderNamedHendrick / main.dart
Last active July 10, 2023 03:17
form validations
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
class ImagePickerField extends StatefulWidget {
const ImagePickerField({Key? key}) : super(key: key);
@override
State<ImagePickerField> createState() => _ImagePickerFieldState();
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@CoderNamedHendrick
CoderNamedHendrick / image_picker_field.dart
Last active July 10, 2023 03:30
Image picker form field
class ImagePickerFormField extends FormField<File?> {
ImagePickerFormField({
super.key,
ImagePickerInputController? controller,
ValueChanged<File?>? onChanged,
super.validator,
super.autovalidateMode,
}) : super(
initialValue: controller?.value,
builder: (state) {
ImagePickerFormField(
validator: (imageFile) {
if (imageFile == null) return 'Please select an image';
return null;
},
),
@CoderNamedHendrick
CoderNamedHendrick / pubspec.yaml
Last active July 10, 2023 04:06
Radio button group
name: form_widget_demo
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: '>=3.0.5 <4.0.0'
dependencies:
@CoderNamedHendrick
CoderNamedHendrick / linear_indicator.dart
Created July 17, 2023 07:40
Round Linear progress indicator
class RoundLinearProgress extends StatelessWidget {
const RoundLinearProgress({super.key, double progress = 0})
: _progress = progress,
assert(
progress >= 0 && progress <= 100,
'indicator progress must be between 0 and 100',
);
final double _progress;
@CoderNamedHendrick
CoderNamedHendrick / dots.dart
Created July 17, 2023 09:51
Animated dots progress
class AnimatedDotsProgress extends StatefulWidget {
const AnimatedDotsProgress({super.key, this.length = 3});
final int length;
@override
State<AnimatedDotsProgress> createState() => _AnimatedDotsProgressState();
}
class _AnimatedDotsProgressState extends State<AnimatedDotsProgress>