{"id":628,"date":"2024-03-26T05:32:52","date_gmt":"2024-03-26T05:32:52","guid":{"rendered":"https:\/\/rishikantsri.in\/blog\/?p=628"},"modified":"2024-03-26T05:38:39","modified_gmt":"2024-03-26T05:38:39","slug":"creating-custom-icon-updated","status":"publish","type":"post","link":"https:\/\/rishikantsri.in\/blog\/creating-custom-icon-updated\/","title":{"rendered":"Flutter: Creating Custom Icon (updated)"},"content":{"rendered":"\n<p>To create a custom icon in Flutter, you typically create a new widget class that extends StatelessWidget or StatefulWidget, depending on whether your custom icon needs to manage its own state.<\/p>\n\n\n\n<p>Here&#8217;s a basic example of creating a custom icon using StatelessWidget:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:19.800000190734863px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import 'package:flutter\/material.dart';\n\nclass CustomIcon extends StatelessWidget {\n  const CustomIcon({Key? key}) : super(key: key);\n\n  @override\n  Widget build(BuildContext context) {\n    return SizedBox(\n      width: 45,\n      height: 30,\n      child: Stack(\n        children: [\n          Container(\n            margin: const EdgeInsets.only(\n              left: 10,\n            ),\n            width: 38,\n            decoration: BoxDecoration(\n              color: const Color.fromARGB(\n                255,\n                250,\n                45,\n                108,\n              ),\n              borderRadius: BorderRadius.circular(7),\n            ),\n          ),\n          Container(\n            margin: const EdgeInsets.only(\n              right: 10,\n            ),\n            width: 38,\n            decoration: BoxDecoration(\n              color: const Color.fromARGB(\n                255,\n                32,\n                211,\n                234,\n              ),\n              borderRadius: BorderRadius.circular(7),\n            ),\n          ),\n          Center(\n            child: Container(\n              height: double.infinity,\n              width: 38,\n              decoration: BoxDecoration(\n                color: Colors.white,\n                borderRadius: BorderRadius.circular(7),\n              ),\n              child: const Icon(\n                Icons.add,\n                color: Colors.black,\n                size: 20,\n              ),\n            ),\n          )\n        ],\n      ),\n    );\n  }\n}\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">import<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&#39;package:flutter\/material.dart&#39;<\/span><span style=\"color: #B392F0\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">class<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">CustomIcon<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">extends<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">StatelessWidget<\/span><span style=\"color: #B392F0\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">CustomIcon<\/span><span style=\"color: #B392F0\">({<\/span><span style=\"color: #79B8FF\">Key<\/span><span style=\"color: #F97583\">?<\/span><span style=\"color: #B392F0\"> key}) <\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> super(key<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> key);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #F97583\">@override<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #79B8FF\">Widget<\/span><span style=\"color: #B392F0\"> build(<\/span><span style=\"color: #79B8FF\">BuildContext<\/span><span style=\"color: #B392F0\"> context) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #F97583\">return<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">SizedBox<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">      width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">45<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">      height<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">30<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">      child<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Stack<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        children<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> [<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          <\/span><span style=\"color: #79B8FF\">Container<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            margin<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">EdgeInsets<\/span><span style=\"color: #B392F0\">.only(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              left<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">10<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">38<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            decoration<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BoxDecoration<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Color<\/span><span style=\"color: #B392F0\">.fromARGB(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">255<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">250<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">45<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">108<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              borderRadius<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BorderRadius<\/span><span style=\"color: #B392F0\">.circular(<\/span><span style=\"color: #F8F8F8\">7<\/span><span style=\"color: #B392F0\">),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          <\/span><span style=\"color: #79B8FF\">Container<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            margin<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">EdgeInsets<\/span><span style=\"color: #B392F0\">.only(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              right<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">10<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">38<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            decoration<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BoxDecoration<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Color<\/span><span style=\"color: #B392F0\">.fromARGB(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">255<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">32<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">211<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">234<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              borderRadius<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BorderRadius<\/span><span style=\"color: #B392F0\">.circular(<\/span><span style=\"color: #F8F8F8\">7<\/span><span style=\"color: #B392F0\">),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          <\/span><span style=\"color: #79B8FF\">Center<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            child<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Container<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              height<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">double<\/span><span style=\"color: #B392F0\">.infinity,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">38<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              decoration<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BoxDecoration<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Colors<\/span><span style=\"color: #B392F0\">.white,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                borderRadius<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BorderRadius<\/span><span style=\"color: #B392F0\">.circular(<\/span><span style=\"color: #F8F8F8\">7<\/span><span style=\"color: #B392F0\">),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              child<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Icon<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #79B8FF\">Icons<\/span><span style=\"color: #B392F0\">.add,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Colors<\/span><span style=\"color: #B392F0\">.black,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                size<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">20<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        ],<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">      ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    );<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This Flutter code defines a custom widget named <code>CustomIcon<\/code>. This widget creates an icon composed of two colored rectangles and an &#8220;add&#8221; icon placed in the center. Let&#8217;s break down the code:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:9.899999618530273px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import 'package:flutter\/material.dart';\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">import<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&#39;package:flutter\/material.dart&#39;<\/span><span style=\"color: #B392F0\">;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This line imports the material library which contains widgets and utility functions for creating user interfaces in a Material Design style.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:9.899999618530273px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"class CustomIcon extends StatelessWidget {\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">class<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">CustomIcon<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">extends<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">StatelessWidget<\/span><span style=\"color: #B392F0\"> {<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This line defines a new class named <code>CustomIcon<\/code> which extends <code>StatelessWidget<\/code>. This means that <code>CustomIcon<\/code> is a widget that doesn&#8217;t maintain any state.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:9.899999618530273px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"  const CustomIcon({Key? key}) : super(key: key);\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">CustomIcon<\/span><span style=\"color: #B392F0\">({<\/span><span style=\"color: #79B8FF\">Key<\/span><span style=\"color: #F97583\">?<\/span><span style=\"color: #B392F0\"> key}) <\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> super(key<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> key);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is the constructor for the <code>CustomIcon<\/code> class. It&#8217;s a constant constructor taking an optional <code>Key<\/code> parameter. The <code>Key<\/code> parameter is used for identifying widgets uniquely.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:9.899999618530273px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"  @override\n  Widget build(BuildContext context) {\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #F97583\">@override<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #79B8FF\">Widget<\/span><span style=\"color: #B392F0\"> build(<\/span><span style=\"color: #79B8FF\">BuildContext<\/span><span style=\"color: #B392F0\"> context) {<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is the <code>build<\/code> method, which is a required method for all widgets. It returns the widget that this class represents.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:9.899999618530273px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"    return SizedBox(\n      width: 45,\n      height: 30,\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #F97583\">return<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">SizedBox<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">      width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">45<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">      height<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">30<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This widget constrains its child to a specific width and height.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:9.899999618530273px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"      child: Stack(\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">      child<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Stack<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>A <code>Stack<\/code> widget allows you to place children on top of each other.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:19.80000114440918px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"        children: [\n          Container(\n            margin: const EdgeInsets.only(\n              left: 10,\n            ),\n            width: 38,\n            decoration: BoxDecoration(\n              color: const Color.fromARGB(\n                255,\n                250,\n                45,\n                108,\n              ),\n              borderRadius: BorderRadius.circular(7),\n            ),\n          ),\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">        children<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> [<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          <\/span><span style=\"color: #79B8FF\">Container<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            margin<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">EdgeInsets<\/span><span style=\"color: #B392F0\">.only(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              left<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">10<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">38<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            decoration<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BoxDecoration<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Color<\/span><span style=\"color: #B392F0\">.fromARGB(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">255<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">250<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">45<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">108<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              borderRadius<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BorderRadius<\/span><span style=\"color: #B392F0\">.circular(<\/span><span style=\"color: #F8F8F8\">7<\/span><span style=\"color: #B392F0\">),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          ),<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is the first colored rectangle. It&#8217;s a <code>Container<\/code> widget with a specific color, width, and border radius. It&#8217;s positioned to the left within the stack.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:19.80000114440918px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"          Container(\n            margin: const EdgeInsets.only(\n              right: 10,\n            ),\n            width: 38,\n            decoration: BoxDecoration(\n              color: const Color.fromARGB(\n                255,\n                32,\n                211,\n                234,\n              ),\n              borderRadius: BorderRadius.circular(7),\n            ),\n          ),\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">          <\/span><span style=\"color: #79B8FF\">Container<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            margin<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">EdgeInsets<\/span><span style=\"color: #B392F0\">.only(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              right<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">10<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">38<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            decoration<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BoxDecoration<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Color<\/span><span style=\"color: #B392F0\">.fromARGB(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">255<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">32<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">211<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #F8F8F8\">234<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              borderRadius<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BorderRadius<\/span><span style=\"color: #B392F0\">.circular(<\/span><span style=\"color: #F8F8F8\">7<\/span><span style=\"color: #B392F0\">),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          ),<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is the second colored rectangle. Similar to the first one, but it&#8217;s positioned to the right within the stack.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:19.80000114440918px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">Dart<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"          Center(\n            child: Container(\n              height: double.infinity,\n              width: 38,\n              decoration: BoxDecoration(\n                color: Colors.white,\n                borderRadius: BorderRadius.circular(7),\n              ),\n              child: const Icon(\n                Icons.add,\n                color: Colors.black,\n                size: 20,\n              ),\n            ),\n          )\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">          <\/span><span style=\"color: #79B8FF\">Center<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            child<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Container<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              height<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">double<\/span><span style=\"color: #B392F0\">.infinity,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              width<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">38<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              decoration<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BoxDecoration<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Colors<\/span><span style=\"color: #B392F0\">.white,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                borderRadius<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">BorderRadius<\/span><span style=\"color: #B392F0\">.circular(<\/span><span style=\"color: #F8F8F8\">7<\/span><span style=\"color: #B392F0\">),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              child<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">const<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Icon<\/span><span style=\"color: #B392F0\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                <\/span><span style=\"color: #79B8FF\">Icons<\/span><span style=\"color: #B392F0\">.add,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                color<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Colors<\/span><span style=\"color: #B392F0\">.black,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">                size<\/span><span style=\"color: #F97583\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">20<\/span><span style=\"color: #B392F0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">              ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">          )<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is the central container that holds the &#8220;add&#8221; icon. It&#8217;s a white container with a black &#8220;add&#8221; icon in the center.<\/p>\n\n\n\n<p><code>CustomIcon<\/code> widget creates an icon composed of two colored rectangles on the sides and an &#8220;add&#8221; icon in the center, all wrapped within a <code>Stack<\/code> widget.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"386\" height=\"837\" src=\"https:\/\/rishikantsri.in\/blog\/wp-content\/uploads\/2024\/03\/image.png\" alt=\"\" class=\"wp-image-634\" srcset=\"https:\/\/rishikantsri.in\/blog\/wp-content\/uploads\/2024\/03\/image.png 386w, https:\/\/rishikantsri.in\/blog\/wp-content\/uploads\/2024\/03\/image-138x300.png 138w\" sizes=\"(max-width: 386px) 100vw, 386px\" \/><\/figure>\n\n\n\n<p>Thanks <\/p>\n\n\n\n<p>Happy Coding \ud83d\ude42<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To create a custom icon in Flutter, you typically create a new widget class that extends StatelessWidget or StatefulWidget, depending on whether your custom icon needs to manage its own state. Here&#8217;s a basic example of creating a custom icon using StatelessWidget: This Flutter code defines a custom widget named CustomIcon. This widget creates an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,89,90],"tags":[91],"_links":{"self":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts\/628"}],"collection":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/comments?post=628"}],"version-history":[{"count":4,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts\/628\/revisions"}],"predecessor-version":[{"id":635,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts\/628\/revisions\/635"}],"wp:attachment":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/media?parent=628"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/categories?post=628"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/tags?post=628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}