Pictograms

Welcome to pictograms a new pictograms library based on Picto_Widget from OTTAA Project

Getting Started

This project will used to create pictograms that can adjust in the screen dynamically.

How to use

import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:pictograms/pictograms.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Pictograms Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const PictoWidgetExample(),
    );
  }
}

class PictoWidgetExample extends StatelessWidget {
  const PictoWidgetExample({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final size = MediaQuery.of(context).size;
    return Scaffold(
      backgroundColor: Colors.white,
      body: Center(
        child: GridView.builder(
          padding: const EdgeInsets.all(16),
          gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 4,
            mainAxisExtent: 119,
            childAspectRatio: 1,
            crossAxisSpacing: 12,
            mainAxisSpacing: 4,
          ),
          itemCount: 30,
          itemBuilder: (context, index) {
            return index % 2 == 0
                ? CircularPictogram(
                    onTap: () {
                      print('on tap');
                    },
                    maxFontSize: 15,
                    minFontSize: 0,
                    text: 'UNA BICICLETERIA',
                    image: CachedNetworkImage(
                      imageUrl:
                          "https://static.arasaac.org/pictograms/2282/2282_300.png",
                      fit: BoxFit.cover,
                    ),
                    colorNumber: index % 6 + 1,
                    onLongPress: () {
                      print('long pressed');
                    },
                    disable: index % 3 == 0,
                    customAddColor: index % 4 == 0
                        ? Colors.redAccent
                        : index % 2 == 0
                            ? Colors.green
                            : Colors.white,
                    customProgressColor: Colors.redAccent.shade100,
                    backgroundColor: index % 4 == 0
                        ? Colors.blueGrey
                        : index % 2 == 0
                            ? Colors.white
                            : Colors.blue,
                    textColor: index % 4 == 0
                        ? Colors.white
                        : index % 2 == 0
                            ? Colors.black
                            : Colors.yellowAccent,
                    pictoSize: 180,
                    add: index == 10,
                    iconSize: index == 10 ? 70 : null,
                  )
                : Pictograms(
                    maxFontSize: 11,
                    minFontSize: 0,
                    onTap: () {
                      print('tapped');
                    },
                    text: 'UNA BICICLETERIA',
                    image: CachedNetworkImage(
                      imageUrl:
                          "https://static.arasaac.org/pictograms/2282/2282_300.png",
                      fit: BoxFit.cover,
                    ),
                    colorNumber: index % 6 + 1,
                    onLongPress: () {
                      print('long pressed');
                    },
                    disable: index % 3 != 0,
                    add: index== 21,
                    customAddColor: Colors.redAccent,
                    customProgressColor: Colors.redAccent.shade100,
                    backgroundColor: index % 4 == 0
                        ? Colors.blueGrey
                        : index % 2 == 0
                            ? Colors.white
                            : Colors.blue,
                    textColor: index % 4 == 0
                        ? Colors.white
                        : index % 2 == 0
                            ? Colors.black
                            : Colors.yellowAccent,
                    height: index % 2 == 0 ? 200 : null,
                    width: index % 2 == 0 ? 200 : null,

                    iconSize: index % 4 == 0
                        ? 40
                        : index % 2 == 0
                            ? 80
                            : null,

                  );
          },
        ),
      ),
    );
  }
}



Example

Properties:

  • text: set the pictograms name
  • onTap: Tap Action
  • onLongPress: Long Press Action
  • addFunc: create another function
  • height: Custom height of the widget
  • width: Custom width of the widget
  • add: create an Add Button
  • disable: disable the Icon
  • colorNumber: Border Color of the widget
  • borderRadius: Custom Border Radius
  • image: Image or Icon to display
  • imageUrl: Load An Image from the web
  • minFontSize: minimum font Size for default is 0
  • maxFontSize: maximum font size for default is 12
  • customAddColor: change the add Icon color
  • customProgressColor: progressBar color
  • backgroundColor: set a custom background color for default is white
  • iconSize: set the Size of the addIcon
  • pictoSize: use only with circular pictograms
  • roundTitle:create a roundTitle only at CircularPictograms
  • roundBorder:set the border size only at CircularPictograms

CircularPictogram

How To Implements

 CircularPictogram(
    onTap: () { print('on tap');},
    maxFontSize: 15,
    minFontSize:0,
    text:'Hello'
    pictoSize:180,
    iconSize: 80
 )

How To Implements Disable

 CircularPictogram(
    onTap: () { print('on tap');},
    maxFontSize: 15,
    minFontSize:0,
    text:'Hello'
    pictoSize:180,
    iconSize: 80,
    disable: true
 )

How To Implements Add

 CircularPictogram(
    onTap: () { print('on tap');},
    onAdd:(){ print('Add Action')}
    maxFontSize: 15,
    minFontSize:0,
    text:'Hello'
    pictoSize:180,
    iconSize: 80,
    add: true
 )

Pictograms

How To Implements

 Pictograms(
    onTap: () { print('on tap');},
    maxFontSize: 15,
    minFontSize:0,
    text:'Hello'
    disable: false,
    height:180,
    width:90,
    add:false,
    iconSize: 80
 )

How To Implements Disable Function

 Pictograms(
    onTap: () { print('on tap');},
    maxFontSize: 15,
    minFontSize:0,
    text:'Hello'
    disable: true,
    height:180,
    width:90,
    add:false,
    iconSize: 80
 )

How To Implements Add Function

 Pictograms(
    onTap: (){ print('on tap');},
    onAdd: (){print('on Add');}
    maxFontSize: 15,
    minFontSize:0,
    text:'Hello'
    disable: false,
    height:180,
    width:90,
    add:true,
    iconSize: 80
 )

Libraries

pictograms