Skip to content

Instantly share code, notes, and snippets.

View pjbelo's full-sized avatar

Paulo Belo pjbelo

View GitHub Profile
@pjbelo
pjbelo / flutter_tabs_demo_step_1.dart
Created January 2, 2023 16:59
Flutter Tabs Demo (step1)
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@pjbelo
pjbelo / todo_app.dart
Last active November 4, 2022 15:42
ToDo App Flutter Demo
// ToDo App Flutter Demo
import 'package:flutter/material.dart';
void main() => runApp(const TodoApp());
class TodoApp extends StatelessWidget {
const TodoApp({super.key});
@override
@pjbelo
pjbelo / top250movies.json
Created November 3, 2022 15:13
IMDB Top 250 Movies JSON
{
"top250movies": [
{
"id": 111161,
"rank": 1,
"title": "The Shawshank Redemption",
"fullTitle": "The Shawshank Redemption (1994)",
"year": 1994,
"image": "https://m.media-amazon.com/images/M/MV5BMDFkYTc0MGEtZmNhMC00ZDIzLWFmNTEtODM1ZmRlYWMwMWFmXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX128_CR0,3,128,176_AL_.jpg",
"crew": "Frank Darabont (dir.), Tim Robbins, Morgan Freeman",
@pjbelo
pjbelo / DefaultTabControllerDemo.dart
Created October 28, 2022 16:29
DefaultTabController Demo using initialIndex [Flutter]
// DefaultTabController Demo using initialIndex
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@pjbelo
pjbelo / sort-object-list.dart
Created October 11, 2022 11:49
Dart & Flutter - Sort an Object List
// Dart & Flutter - Sort an Object List
class Product {
String name;
String category;
double price;
Product(this.name, this.category, this.price);
String asString() {
return "$name, $category, $price";
@pjbelo
pjbelo / tab_controller_demo.dart
Last active September 26, 2022 10:21
Flutter - listening to updates in TabBar when using DefaultTabController
// listening to updates in TabBar when using DefaultTabController.
import 'package:flutter/material.dart';
void main() {
runApp(TabControllerDemo());
}
class TabControllerDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
@pjbelo
pjbelo / linked-scroll-demo.dart
Last active September 16, 2022 10:19
Flutter linked scroll demo
import 'package:flutter/material.dart';
import 'package:linked_scroll_controller/linked_scroll_controller.dart';
class ScrollDemo extends StatefulWidget {
@override
_ScrollDemoState createState() => _ScrollDemoState();
}
class _ScrollDemoState extends State<ScrollDemo> {
final List<String> colEntries = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('');
@pjbelo
pjbelo / no-sync-scroll-demo.dart
Last active September 15, 2022 12:26
Flutter scroll demo
// DartPad live demo at https://dartpad.dev/?id=1497bd3ba6ef7e9c25f7434cefd488ae
import 'package:flutter/material.dart';
import 'dart:ui';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@pjbelo
pjbelo / h-v-sync-scroll.dart
Last active September 13, 2022 14:08
Flutter - Horizontal AND Vertical SYNCED scroll demo
// Flutter - Horizontal AND Vertical SYNCED scroll demo
// drag with mouse to scroll the 1200x1200 container inside the 300x300 container
// headers will scroll in sync
// drag the headers and the body will also scroll in sync
// Live demo: https://dartpad.dev/?id=2ec2d85015944c32e051d651e8d8e8b1
import 'package:flutter/material.dart';
import 'dart:ui';
import 'package:flutter/rendering.dart';
@pjbelo
pjbelo / v-h-scroll.dart
Last active December 13, 2023 14:59
Flutter - Horizontal AND Vertical scroll demo
// Flutter - Horizontal AND Vertical scroll demo
// drag with mouse to scroll the 1200x1200 container inside the 300x300 container
// Live demo at https://dartpad.dev/?id=4ec341a672ccb96470bb6fc09b20305d
import 'package:flutter/material.dart';
import 'dart:ui';
void main() {
runApp(MyApp());
}