ClipPath
で要素の切り抜きスタイルを決めるCustomClipper
を自作するのが面倒い方にオススメなパッケージがflutter_custom_clippers
です。
flutter_custom_clippers
には様々な形のCustomClipper
が用意されておりClipPath
で使用できます。
目次
事前準備|flutter_custom_clippersの導入
flutter pub add flutter_custom_clippers
import 'package:flutter_custom_clippers/flutter_custom_clippers.dart';
flutter_custom_clippers
を導入します。
あわせて読みたい
【Flutter】pub.devからパッケージを導入|ドキュメントの見方・お気に入り登録
今回はDartまたはFlutterのパッケージをpub.devから導入する方法を紹介します。 導入したパッケージ(ライブラリ)の「ドキュメントの見方」や気に入ったパッケージを「お…
ClipPath & flutter_custom_clippersの使い方
ClipPath(
clipper: StarClipper(10),
child: Container(
width: 250,
height: 250,
color: Colors.lightBlueAccent,
),
),
ClipPath
のclipper
にflutter_custom_clippers
で用意されているCustomClipper
を渡すだけで要素を切り抜き(トリミング)できます。
CustomClipper
によって使用できるプロパティが異なります。
StarClipper(10)
WaveClipperOne(reverse: true, flip: true)
サンプルコード
import 'package:flutter/material.dart';
import 'package:flutter_custom_clippers/flutter_custom_clippers.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('FlutterZero'),
),
body: MyCustomApp(),
),
);
}
}
class MyCustomApp extends StatelessWidget {
MyCustomApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Center(
child: ClipPath(
clipper: WaveClipperOne(reverse: true, flip: true),
child: Container(
width: 250,
height: 250,
color: Colors.lightBlueAccent,
),
),
);
}
}
参考