zoukankan      html  css  js  c++  java
  • Flutter 绘制网格

    import 'package:flutter/material.dart';
    
    class CustomPaintRoute extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        final width=MediaQuery.of(context).size.width;
        final height=MediaQuery.of(context).size.height;
        return Center(
          child: CustomPaint(
            size: Size(width, height), //指定画布大小
            painter: MyPainter(),
          ),
        );
      }
    }
    
    class MyPainter extends CustomPainter {
      @override
      void paint(Canvas canvas, Size size) {
        double eWidth = size.width / 15;
        double eHeight = size.height / 25;
    
        //網格背景
        var paint = Paint()
          ..isAntiAlias = true
          ..style = PaintingStyle.fill //填充
          ..color = Color(0xfff6f6f6); //背景为纸黄色
        canvas.drawRect(Offset.zero & size, paint);
    
        //網格風格
        paint
          ..style = PaintingStyle.stroke //线
          ..color = Color(0xffe1e9f0)
          ..strokeWidth = 1.1;
    
        for (int i = 0; i <= 40; ++i) {
          double dy = eHeight * i;
          canvas.drawLine(Offset(0, dy), Offset(size.width, dy), paint);
        }
    
        for (int i = 0; i <= 20; ++i) {
          double dx = eWidth * i;
          canvas.drawLine(Offset(dx, 0), Offset(dx, size.height), paint);
        }
    
    
    
      }
    
      @override
      bool shouldRepaint(CustomPainter oldDelegate) => true;
    }

    使用效果

    抽屉毛玻璃效果

          drawer: Container(
             width*0.7,
            height: height,
            color: Colors.transparent,
            child: ClipRect(
              child: BackdropFilter(
                filter: ImageFilter.blur(sigmaX: 5.0,sigmaY: 5.0),
                child: Opacity(//设置透明度
                  opacity: 0.8,//半透明
                  child: Container(
                     width*0.8,
                    height: height,
                    decoration: BoxDecoration(color: Colors.white),
                  ),
                ),
              ),
            )
          )

     github.com/Loudsa/flutter_ca

  • 相关阅读:
    从yum源下载软件包
    本地yum源建立
    Redis慢查询,redis-cli,redis-benchmark,info
    Centos6.6安装mysql记录
    Nginx常用命令(加入系统服务)
    Nginx+keepalived双机热备(主从模式)
    Nginx反向代理+负载均衡简单实现
    Centos7安装Python3.5
    CentOS 6.4下OpenSSH升级到6.7操作
    Redis详解
  • 原文地址:https://www.cnblogs.com/inthecloud/p/12557605.html
Copyright © 2011-2022 走看看