Flutter使用ClipPath画一个聊天气泡

先看一下效果图:

Flutter使用ClipPath画一个聊天气泡_第1张图片

原理:

先画一个三角形再画一个圆角矩形,然后把两个图案重合起来就实现 了一个聊天气泡

Flutter使用ClipPath画一个聊天气泡_第2张图片Flutter使用ClipPath画一个聊天气泡_第3张图片

实现代码bubble.dart

import 'package:flutter/material.dart';

const _ArrowWidth = 7.0;    //箭头宽度
const _ArrowHeight = 10.0;  //箭头高度
const _MinHeight = 32.0;    //内容最小高度
const _MinWidth = 50.0;     //内容最小宽度

class Bubble extends StatelessWidget {
  final BubbleDirection direction;
  final Radius borderRadius;
  final Widget child;
  final BoxDecoration decoration;
  final Color color;
  final _left;
  final _right;
  final EdgeInsetsGeometry padding;
  fi

你可能感兴趣的:(Flutter)