Flutterで切り欠きのあるTicketを持った汎用的に fw_ticket | Flutter Package
これをパクって
こうしたfw_ticket.dart
はそのまま。
import 'package:example/fw_ticket.dart'; import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // 切り欠き get radius => Radius.circular(20.0); // 角の丸み get cornerRadius => Radius.circular(20.0); Widget myTicket() { List<BoxShadow> myShadows() { return [ BoxShadow( offset: Offset(0, 4), blurRadius: 2.0, spreadRadius: 2.0, color: Color.fromRGBO(196, 196, 196, .76), ), ]; } return Container( width: 115, child: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisSize: MainAxisSize.min, children: <Widget>[ Ticket( innerRadius: BorderRadius.only(bottomRight: radius), outerRadius: BorderRadius.only(topRight: cornerRadius), boxShadow: myShadows(), child: Container( color: Colors.white, height: 100, child: Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ Container( width: double.infinity, padding: EdgeInsets.symmetric(vertical: 18.0), ) ], ), )), Ticket( innerRadius: BorderRadius.only(topRight: radius), outerRadius: BorderRadius.only(bottomRight: cornerRadius), boxShadow: myShadows(), child: Container( color: Colors.white, height: 100, child: Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ Container( width: double.infinity, padding: EdgeInsets.symmetric(vertical: 18.0), ) ], ), ), ) ], ), ); } // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('flutter widget ticket'), ), body: Row( children: [ SizedBox( width: 160.0, ), Column( children: [ SizedBox( height: 160.0, ), myTicket(), ], ), ], ), ), ); } }