Git Product home page Git Product logo

fdottedline's Introduction

fdottedline

Use the easiest way to create a dotted line view 👀!

[FDottedLine] provides developers with the ability to create dashed lines. It also supports creating a dashed border for a [Widget]. Support for controlling the thickness, spacing, and corners of the dotted border.

Author:Newton([email protected])

English | 简体中文

Like it? Please cast your Star 🥰 !

✨ Features

  • Supports dotted lines in both horizontal and vertical directions

  • Support to create dashed shapes

  • Provide super easy way to add dotted border to Widget

  • Support creating flexible dotted corner effects

⚙️ Parameter & Interface

🔩 FDottedLine param

Param Type Necessary Default desc
color Color false Colors.black Dotted line color
height double false null height. If there is only [height] and no [width], you will get a dotted line in the vertical direction.If there are both [width] and [height], you will get a dotted border.
width double false null width. If there is only [width] and no [height], you will get a dotted line in the horizontal direction.If there are both [width] and [height], you will get a dotted border.
strokeWidth double false 1.0 The thickness of the dotted line
dottedLength double false 5.0 The length of each small segment in the dotted line
space double false 3.0 The distance between each segment in the dotted line
corner FDottedLineCorner false null The corners of the dotted border. See [FDottedLineCorner] for details
child Widget false null If [child] is set, [FDottedLine] will serve as the dotted border of [child].At this time, [width] and [height] will no longer be valid.

📺 Demo

🔩 Horizontal Demo

FDottedLine(
  color: color,
  width: 160.0,
  strokeWidth: 2.0,
  dottedLength: 10.0,
  space: 2.0,
)

It is very simple to create a horizontal dotted line through FDottedLine.

The developer only needs to set the width parameter, but not the height parameter, which is all the developer needs to do for this.

If you want to control the thickness of the dotted line, set strokeWidth.

Through the dottedLength and space parameters, developers can freely control the length of each small segment in the dotted line and the distance between them.

⛓ Vertical Demo

FDottedLine(
  color: color,
  height: 160.0,
  strokeWidth: 2.0,
  dottedLength: 10.0,
  space: 2.0,
)

If you want to create a dotted line in the vertical direction, it is also very simple.

Developers only need to assign a value to height and leave width to be null or 0.

🔹 Dotted Shape Demo

FDottedLine(
  color: Colors.lightBlue[600],
  height: 100.0,
  width: 50,
  strokeWidth: 2.0,
  dottedLength: 10.0,
  space: 2.0,
)

FDottedLine can not only create simple dotted lines 🌝.

When developers assign values ​​to both width and height, they will be able to get a dotted rectangle! It's incredible.

🌏 Corner Demo

FDottedLine(
  color: Colors.lightBlue[600],
  height: 70.0,
  width: 70.0,
  strokeWidth: 2.0,
  dottedLength: 10.0,
  space: 2.0,
  
  /// Set corner
  corner: FDottedLineCorner.all(50),
)

With FDottedLine, developers can even create corner effects of dashed rectangles. For example: dotted rounded rectangle, dotted round...

🧩 Child Demo

FDottedLine(
  color: color,
  strokeWidth: 2.0,
  dottedLength: 8.0,
  space: 3.0,
  corner: FDottedLineCorner.all(6.0),
  
  /// add widget
  child: Container(
    color: Colors.blue[100],
    width: 130,
    height: 70,
    alignment: Alignment.center,
    child: Text("0873"),
  ),
)

In the past, it was very difficult to add a dotted border to a Widget.

Because the official did not provide us with a good solution. But now, FDottedLine makes things easier than ever. Developers only need to use their Widget as a child of FDottedLine.

/// #1
FDottedLine(
  color: color,
  strokeWidth: 2.0,
  dottedLength: 8.0,
  space: 3.0,
  corner: FDottedLineCorner.all(75.0),
  child: Container(
    width: 130,
    height: 130,
    alignment: Alignment.center,
    /// #2
    child: FDottedLine(
      color: color,
      strokeWidth: 2.0,
      dottedLength: 8.0,
      space: 3.0,
      corner: FDottedLineCorner.all(20.0),
      child: Container(
        width: 43.0,
        height: 43.0,
        color: Colors.grey[900],
      ),
    ),
  ),
)

This also means that through the nesting of FDottedLine, many super interesting views can be created.

💡 More Demo

See what FDottedLine can do!

When there is such a simple way to create a dotted line, developers can freely build more wonderful views.

More about the application of FDottedLine , look forward to the exploration of developers 🔆.

😃 How to use?

Add dependencies in the project pubspec.yaml file:

🌐 pub dependency

dependencies:
  fdottedline: ^<version number>

⚠️ Attention,please go to [pub] (https://pub.dev/packages/fdottedline) to get the latest version number of FDottedLine

🖥 Git dependency

dependencies:
  fdottedline:
    git:
      url: '[email protected]:Fliggy-Mobile/fdottedline.git'
      ref: '<Branch number or tag number>'

⚠️ Attention,please refer to [FDottedLine] (https://github.com/Fliggy-Mobile/fdottedline) official project for branch number or tag.

💡 License

Copyright 2020-present Fliggy Android Team <[email protected]>.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at following link.

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Like it? Please cast your Star 🥰 !


How to run Demo project?

1.clone project to local

2.Enter the project example directory and run the following command

flutter create .

3.Run the demo in example

fdottedline's People

Contributors

fliggyandroid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

fdottedline's Issues

不指定高、宽则显示不了Child Widget?

在指定了Child Wideget,但没有指定FDottedLine的高或宽属性值时,显示不了??

@OverRide
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: FDottedLine(
color: Colors.amber,
strokeWidth: 2.0,
dottedLength: 8.0,
space: 3.0,
corner: FDottedLineCorner.all(6.0),

      /// add widget
      child: Container(
        color: Colors.blue[100],
        width: 130,
        height: 70,
        alignment: Alignment.center,
        child: Text("0873"),
      ),
    ),
  ),
);

}

[✓] Flutter (Channel dev, 1.19.0-3.0.pre, on Microsoft Windows [Version 10.0.19041.264], locale zh-CN)
• Flutter version 1.19.0-3.0.pre at C:\flutter
• Framework revision 6135091de9 (7 days ago), 2020-06-01 17:17:03 -0700
• Engine revision e39301f23f
• Dart version 2.9.0 (build 2.9.0-13.0.dev 6489a0c68d)
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn

Sometimes not loading

I am wrapping this around an image. It's only working as intended for half of the time. It doesn't even load fully even if I wait for 5-6 mins.

I am using fdottedline: ^1.0.1

ss ss1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.