简体   繁体   English

如何在 Flutter 中创建这样的自定义边框?

[英]How to create a custom border like this in Flutter?

I need a border for 25%,50%,75% and 100%我需要 25%、50%、75% 和 100% 的边框要求的结果

You can custom it with Stack of Containers like this:您可以像这样使用 Stack of Containers 自定义它:

  Widget _widget({int percent = 25}) {
    return Center(
      child: Stack(
        children: [
          Positioned.fill(
            child: Row(
              children: [
                Flexible(
                  flex: percent,
                  child: Container(
                    decoration: const BoxDecoration(
                      color: Colors.green,
                      borderRadius: BorderRadius.only(topLeft: Radius.circular(30), bottomLeft: Radius.circular(30)),
                    ),
                  ),
                ),
                Flexible(
                  flex: 100 - percent,
                  child: Container(
                    decoration: BoxDecoration(
                      color: Colors.grey[300],
                      borderRadius: BorderRadius.only(topRight: Radius.circular(30), bottomRight: Radius.circular(30)),
                    ),
                  ),
                ),
              ],
            ),
          ),
          Container(
            decoration: const BoxDecoration(
              color: Colors.white,
              borderRadius: BorderRadius.all(Radius.circular(30)),
            ),
            margin: const EdgeInsets.all(8),
            padding: const EdgeInsets.fromLTRB(25, 13, 25, 13),
            child: Text('${percent}% Complete'),
          )
        ],
      ),
    );
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM