邊框上繪制漸變色

import 'package:flutter/material.dart';

class RectangularPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    final paint = Paint()
      ..color = const Color(0xFF25C700)
      ..style = PaintingStyle.stroke
      ..strokeWidth = 4;

    final rect = Rect.fromLTWH(0, 0, size.width, size.height);
    // canvas.drawRect(rect, paint);
    
    // 定義矩形的邊框和填充區(qū)域
    RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(0)); // 設(shè)置矩形的圓角

    const gradient = LinearGradient(
      colors: [Colors.blue, Colors.green], // 漸變色的起始和結(jié)束顏色
      begin: Alignment.topLeft,
      end: Alignment.bottomRight,
    );

    // 繪制漸變色填充
    paint.shader = gradient.createShader(rect);
    canvas.drawRRect(rRect, paint); // 使用繪制的漸變色填充矩形

    // 繪制矩形邊框
    paint.color = Colors.black; // 設(shè)置邊框顏色
    paint.style = PaintingStyle.stroke; // 只繪制邊框
    paint.strokeWidth = 4; // 設(shè)置邊框?qū)挾?    canvas.drawRRect(rRect, paint); // 繪制邊框
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return false;
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容