使用flutter做仪表盘(桌面端)

前言

最近收到一个需求,需要使用flutter 来做一个仪表盘,这可难倒我了,毕竟我是做前端的,flutter 之前接触的也少,但没办法,既然需求有了,也得硬着头皮上了,先来看看做的效果。
在这里插入图片描述

一、准备环境

使用flutter 之前需要配置一下环境,这个可以百度一下就知道了,或者查询官网,因为是做桌面端,所以要找到对应的章节。

二、创建组件

这边把宽度,高度,最大值,最小值 ,进度数值都做成输入参数类型,具体代码截图如下:
在这里插入图片描述
根据进度值不同,展示不同的颜色的代码:

_paint
      ..color = HColor.hexColor(0x2D4158)
      ..strokeWidth = _strokeSize - 10;
    canvas.drawArc(rect1, _toRadius(-180), _toRadius(180), false, _paint);

    var baseNum = 16 / 6;
    var color1 = Colors.white;
    if (0 < progress && progress <= baseNum) {
      color1 = HColor.hexColor(0x009FE8);
    } else if (progress > baseNum && progress <= 2 * baseNum) {
      color1 = HColor.hexColor(0x40FB09);
    } else if (progress > 2 * baseNum && progress <= 3 * baseNum) {
      color1 = HColor.hexColor(0xFBEB09);
    } else if (progress > 3 * baseNum && progress <= 4 * baseNum) {
      color1 = HColor.hexColor(0xF66B00);
    } else if (progress > 4 * baseNum && progress <= 5 * baseNum) {
      color1 = HColor.hexColor(0xE80075);
    } else if (progress > 4 * baseNum && progress <= 5 * baseNum) {
      color1 = HColor.hexColor(0xE80075);
    } else if (progress > 5 * baseNum && progress <= 6 * baseNum) {
      color1 = HColor.hexColor(0xFF0000);
    }

这边具体的视线逻辑就不在这边一一详细解释了。

三、如何使用

在这里插入图片描述

在这里插入图片描述
直接引入对应的组件,然后使用即可,例如 这边输入了10,看到的效果图如下:
在这里插入图片描述

总结

如需项目demo,微信扫下面的二维码,注册成功,到下面的我的-联系客服 问我要代码
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搞不动的前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值