flutter_brands 0.0.1
flutter_brands: ^0.0.1 copied to clipboard
Access and render 6,500+ official brand SVG logos instantly in Flutter. Features strongly-typed auto-complete, original brand colors, and multi-variant support.
import 'package:flutter/material.dart';
import 'package:flutter_brands/flutter_brands.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'flutter_brands Example',
theme: ThemeData.dark(),
home: const HomeScreen(),
);
}
}
class HomeScreen extends StatelessWidget {
const HomeScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('flutter_brands Showcase'),
),
body: SingleChildScrollView(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text(
'Default Variant (Official Colors)',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
const SizedBox(height: 12),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
_buildIconItem(BrandIcons.google, 'Google'),
_buildIconItem(BrandIcons.github, 'GitHub'),
_buildIconItem(BrandIcons.aws, 'AWS'),
_buildIconItem(BrandIcons.figma, 'Figma'),
],
),
const Divider(height: 40),
const Text(
'Mono Variant with Custom Colors',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
const SizedBox(height: 12),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
_buildIconItem(
BrandIcons.google,
'Google Red',
variant: BrandIconVariant.mono,
color: Colors.red,
),
_buildIconItem(
BrandIcons.github,
'GitHub Green',
variant: BrandIconVariant.mono,
color: Colors.green,
),
_buildIconItem(
BrandIcons.aws,
'AWS Amber',
variant: BrandIconVariant.mono,
color: Colors.amber,
),
_buildIconItem(
BrandIcons.figma,
'Figma Blue',
variant: BrandIconVariant.mono,
color: Colors.blue,
),
],
),
const Divider(height: 40),
const Text(
'Wordmark Variant (Text Logo)',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
const SizedBox(height: 12),
Center(
child: Wrap(
spacing: 24,
runSpacing: 16,
alignment: WrapAlignment.center,
children: [
BrandIcon(
BrandIcons.aws,
variant: BrandIconVariant.wordmark,
width: 100,
),
BrandIcon(
BrandIcons.google,
variant: BrandIconVariant.wordmark,
width: 100,
),
BrandIcon(
BrandIcons.github,
variant: BrandIconVariant.wordmark,
width: 100,
),
],
),
),
],
),
),
);
}
Widget _buildIconItem(
BrandIconData iconData,
String label, {
BrandIconVariant variant = BrandIconVariant.defaultValue,
Color? color,
}) {
return Column(
children: [
Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: Colors.grey[900],
borderRadius: BorderRadius.circular(12),
),
child: BrandIcon(
iconData,
variant: variant,
color: color,
width: 40,
height: 40,
),
),
const SizedBox(height: 8),
Text(
label,
style: const TextStyle(fontSize: 12),
),
],
);
}
}