Dotted Line Flutter Package
A highly customizable Flutter package for drawing dotted, dashed, and gradient lines in both horizontal and vertical directions. It also supports shadow effects and multiple shapes.
✨ Features
✅ Dotted and Dashed Lines
✅ Gradient Color Support
✅ Customizable Dash Width & Gap
✅ Horizontal & Vertical Orientation
✅ Shadow Effect for Depth
✅ More Shapes (Star, Circle, etc.)
✅ Star Shape
✅ Circle Dotted Line
✅ Custom Dash Shapes
✅ Patterned Dashes (Short-Long)
📦 Installation
Add this to your pubspec.yaml file:
dependencies:
  dotted_line_flutter: latest_version
Then run:
flutter pub get
🛠 Usage
Basic Dotted Line
DottedLine(
axis: Axis.horizontal,
lineThickness: 2,
dashGap: 4,
dashWidth: 6,
colors: [Colors.red, Colors.blue], // Gradient Support
);
Vertical Dotted Line
DottedLine(
axis: Axis.vertical,
lineThickness: 3,
dashGap: 5,
colors: [Colors.green], // Single color
);
Shadow Effect
DottedLine(
axis: Axis.horizontal,
lineThickness: 3,
dashGap: 6,
colors: [Colors.orange, Colors.purple],
shadowColor: Colors.black,
shadowBlurRadius: 10.0,
);
🖼 Screenshot 1
🖼 Screenshot 2
🖼 Screenshot 3
🖼 Screenshot 4
DottedCube Widget
Usage
Parameters
| Parameter | Default | Description | 
|---|---|---|
| size | 100.0 | The overall size of the cube. | 
| dotSize | 4.0 | The size of each individual dot. | 
| dotSpacing | 8.0 | The spacing between dots. | 
| scaleFactor | 1.0 | The scale factor to resize the widget. | 
| angle | 0.0 | The rotation angle of the cube. | 
| gradientColors | [Colors.blue, Colors.purple] | The gradient colors used for the dots. | 
The DottedCube widget can be used without parameters.
import 'package:flutter/material.dart';
DottedCube()
You can also customize it by specifying parameters.
import 'package:flutter/material.dart';
DottedCube(
  size: 120.0,
  dotSize: 5.0,
  dotSpacing: 10.0,
  scaleFactor: 1.2,
  angle: 0.5,
  gradientColors: [Colors.red, Colors.orange],
)
DottedLine Widget
A Flutter widget to create a customizable dotted line with gradient colors, shadow effects, and adjustable spacing.
Features
- Supports horizontal and vertical orientation.
- Customizable dash width, gap size, and line thickness.
- Gradient color support.
- Shadow effects for a better visual appearance.
Usage
Default Usage
This widget can be used without parameters for a simple dotted line.
import 'package:dotted_line_flutter/dotted_line.dart';
DottedLine()
Custom Usage
You can customize the dotted line by specifying various parameters:
import 'package:dotted_line_flutter/dotted_line.dart';
DottedLine(
  colors: [Colors.blue, Colors.green],
  lineThickness: 2.0,
  dashGap: 6.0,
  dashWidth: 8.0,
  height: 3.0,
  axis: Axis.horizontal,
  shadowColor: Colors.black38,
  shadowBlurRadius: 5.0,
)
Parameters
| Parameter | Default | Description | 
|---|---|---|
| colors | [Colors.purple] | The gradient colors for the dotted line. | 
| lineThickness | 2.0 | The thickness of the line. | 
| dashGap | 5.0 | The space between dashes. | 
| dashWidth | 5.0 | The width of each dash. | 
| height | 2.0 | The height of the dotted line. | 
| axis | Axis.horizontal | The direction of the dotted line (horizontal/vertical). | 
| shadowColor | Colors.black54 | The color of the shadow. | 
| shadowBlurRadius | 4.0 | The blur radius of the shadow. | 
Example
Here's how you can use DottedLine inside a Column or Row widget:
Column(
  children: [
    Text("Above the line"),
    DottedLine(
      colors: [Colors.red, Colors.orange],
      dashWidth: 6.0,
      dashGap: 4.0,
    ),
    Text("Below the line"),
  ],
)
This will create a colorful dotted line between two text widgets.
DottedStar Widget
Overview
DottedStar is a customizable Flutter widget that renders a star shape with a dotted outline using a gradient color effect. It is built using CustomPaint and provides various customization options.
Features
- Supports gradient colors for the dots.
- Configurable size and number of star points.
- Adjustable dot size and spacing.
- Scalable and rotatable star shape.
Usage
Basic Usage
import 'package:flutter/material.dart';
import 'dotted_star.dart';
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.black,
        body: Center(
          child: DottedStar(),
        ),
      ),
    );
  }
}
Customization
You can customize the DottedStar widget by specifying various parameters.
DottedStar(
  gradientColors: [Colors.purple, Colors.pink],
  size: 80.0,
  points: 6,
  dotSize: 4.0,
  dotSpacing: 6.0,
  scaleFactor: 1.5,
  angle: 0.5, // Rotation in radians
)
Parameters
| Parameter | Default Value | Description | 
|---|---|---|
| gradientColors | [Colors.yellow, Colors.orange] | List of colors for the gradient effect. | 
| size | 50.0 | The size of the star. | 
| points | 5 | Number of points in the star. | 
| dotSize | 3.0 | The size of each dot in the outline. | 
| dotSpacing | 5.0 | The spacing between each dot. | 
| scaleFactor | 1.0 | Scaling factor for resizing the star. | 
| angle | 0.0 | Rotation angle in radians. | 
Implementation Details
The DottedStar widget uses a CustomPainter class (StarPainter) to draw the dotted outline of a star. It follows these steps:
- Creates a star shape using _createStarPath.
- Applies a radial gradient to the dots.
- Iterates over the path using PathMetricsto place dots at equal intervals.
- Draws each dot on the canvas at calculated positions.
DottedText Widget
The DottedText widget is a custom Flutter widget that renders text using dots instead of solid strokes. It provides customization options for dot size, spacing, colors, and text styling.
Features
- Render text with a dotted effect
- Customizable dot size and spacing
- Supports gradient colors
- Uses Flutter's CustomPainterfor efficient rendering
Installation
To use DottedText, simply add the Dart file to your Flutter project and import it.
import 'package:dotted_line_flutter/dotted_line_flutter.dart';
Usage
Basic Usage
DottedText(
  text: "Hello, World!",
)
Customizing Properties
DottedText(
  text: "Flutter Dots",
  textStyle: TextStyle(fontSize: 50, fontWeight: FontWeight.bold, color: Colors.black),
  dotSize: 3.0,
  dotSpacing: 4.0,
  colors: [Colors.red, Colors.orange],
)
Parameters
| Parameter | Default Value | Description | 
|---|---|---|
| text | Required | The text to be displayed in dotted style. | 
| textStyle | TextStyle(fontSize: 40, fontWeight: FontWeight.bold, color: Colors.black) | The style of the text. | 
| dotSize | 2.0 | The size of each individual dot. | 
| dotSpacing | 3.0 | The spacing between dots. | 
| colors | [Colors.purple, Colors.blue] | A list of colors for gradient effect. | 
DottedWidget
DottedWidget is a Flutter custom widget that allows you to create a widget with a customizable dotted border. It supports different shapes, colors, and shadow effects, making it a versatile component for UI design.
Features
- Customizable dotted border
- Supports both rectangular and circular shapes
- Adjustable dash width, gap, and thickness
- Gradient border colors
- Shadow effect for better appearance
Usage
DottedWidget(
            width: 150.0,
            height: 80.0,
            borderRadius: 12.0,
            colors: [Colors.blue, Colors.green],
            lineThickness: 2.0,
            dashWidth: 6.0,
            dashGap: 4.0,
            shadowBlurRadius: 6.0,
            shape: BoxShape.rectangle,
            child: const Text("Dotted Box", style: TextStyle(fontSize: 16)),
          ),
Properties
| Property | Type | Default Value | Description | 
|---|---|---|---|
| child | Widget? | null | Child widget inside the dotted container. | 
| borderRadius | double | 10.0 | Border radius for rectangle shapes. | 
| colors | List<Color> | [Colors.purple] | Gradient colors for the border. | 
| lineThickness | double | 2.0 | Thickness of the dotted border. | 
| dashGap | double | 5.0 | Gap between each dot in the border. | 
| dashWidth | double | 5.0 | Width of each individual dot. | 
| axis | Axis | Axis.horizontal | Axis along which dots are drawn. | 
| shadowColor | Color | Colors.black54 | Color of the shadow effect. | 
| shadowBlurRadius | double | 4.0 | Blur radius of the shadow. | 
| width | double | 100.0 | Width of the dotted widget. | 
| height | double | 50.0 | Height of the dotted widget. | 
| shape | BoxShape | BoxShape.rectangle | Shape of the dotted widget (rectangle or circle). | 
DottedShape Widget
A Flutter widget for rendering various shapes with a dotted outline. This can be used to display creative and visually appealing shapes in your app.
Features
- Supports multiple shapes:
- Cone
- Cylinder
- Oval
- Triangle
- Hexagon
- Pentagon
- Hexagram
- Rhombus
- Heart
- Triquetra
- Semicircle
- Crescent
 
- Fully customizable dot size, spacing, and color.
Usage
DottedShape(
shapeType: ShapeType.hexagon,
size: 150.0,
dotSize: 5.0,
dotSpacing: 8.0,
dotColor: Colors.blue,
),
Customization
| Property | Description | Default Value | 
|---|---|---|
| shapeType | The type of shape to render | ShapeType.triangle | 
| size | The width and height of the shape | 100.0 | 
| dotSize | The size of each individual dot | 4.0 | 
| dotSpacing | The spacing between each dot | 6.0 | 
| dotColor | The color of the dots | Colors.black | 
Feedback
If you have any feedback, please reach out to me at puneetsharma5525@gmail.com.
👋 Hi, I'm Puneet!
🚀 About Me
I'm a flutter and spring boot java developer .
🔗 Links
License
This package is licensed under the MIT License.