Skip to content

Instantly share code, notes, and snippets.

@rubywai
rubywai / main.dart
Created October 30, 2023 13:59 — forked from Piinks/main.dart
Two Dimensional Grid in Flutter
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:math' as math;
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
@rubywai
rubywai / gist:58ff528a66774fd246a16924d2793cf9
Last active August 28, 2023 13:04
double border color.dart
import 'package:flutter/material.dart';
class CustomDoubleBorder extends OutlinedBorder {
final double innerRadius;
final double outerRadius;
final BorderSide innerBorderSide;
final BorderSide outerBorderSide;
CustomDoubleBorder({
this.innerRadius = 4,
import 'package:shared_preferences/shared_preferences.dart';
class MyStorage{
Future<SharedPreferences> _sharedPreference ()async{
return await SharedPreferences.getInstance();
}
void saveString({required String key,required String? value}) async{
SharedPreferences sharedPreferences = await _sharedPreference();
if(value != null) {
sharedPreferences.setString(key, value);
import 'package:flutter/material.dart';
import 'package:flutter_ui_lesson/screens/second_screen.dart';
class FirstScreen extends StatelessWidget {
FirstScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 2,
child: Scaffold(
import 'package:flutter/material.dart';
import 'package:flutter_ui_lesson/screens/first_screen.dart';
import 'package:flutter_ui_lesson/screens/second_screen.dart';
import 'package:flutter_ui_lesson/screens/third_screen.dart';
class MainScreen extends StatefulWidget {
const MainScreen({Key? key}) : super(key: key);
@override
State<MainScreen> createState() => _MainScreenState();
Navigator.push(context,
MaterialPageRoute(builder: (context) => const SecondScreen(data: 'This is from first screen',)));
Navigator.pop(context,' Second screen data');
import 'package:flutter/material.dart';
import 'package:flutter_ui_lesson/screens/first_screen.dart';
class ThirdScreen extends StatelessWidget {
const ThirdScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Third Screen'),),
import 'package:flutter/material.dart';
import 'package:flutter_ui_lesson/screens/third_screen.dart';
class SecondScreen extends StatelessWidget {
const SecondScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Second Screen'),),
import 'package:flutter/material.dart';
import 'package:flutter_ui_lesson/screens/second_screen.dart';
class FirstScreen extends StatelessWidget {
const FirstScreen({Key? key}) : super(key: key);
//
@override
Widget build(BuildContext context) {
return Scaffold(
//debug release profile
//assets file binary network
//container
// Material , Cupertino
//Stateless .Stateful
//row column wrap container stack
//listview gridview
import 'package:flutter/material.dart';
import 'package:flutter_ui_lesson/screens/first_screen.dart';