Flutter多边形按钮插件polygon_button的使用
Flutter多边形按钮插件polygon_button的使用
一个简单的Flutter插件,用于创建具有多边形形状的按钮。可以轻松地将多边形按钮集成到您的Flutter应用程序中。
安装
在pubspec.yaml
文件中添加以下依赖:
dependencies:
polygon_button: 1.0.0
然后运行flutter pub get
以安装该插件。
使用
以下是如何使用polygon_button
插件的基本示例:
import 'package:flutter/material.dart';
import 'package:polygon_button/polygon_button.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// 这个小部件是你的应用的根。
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Polygon Button Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Polygon Button Demo Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
List<int> counters = [0, 0, 0, 0];
Function() _incrementCounter(int i) {
return () {
setState(() {
counters[i]++;
});
};
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: Stack(
children: [
Positioned(
left: 10,
top: 10,
child: PolygonButton(
onPressed: _incrementCounter(0),
vertices: const [
Offset(0, 0),
Offset(50, 200),
Offset(300, 100)
],
child: Text("Clicked ${counters[0]} times"),
),
),
Positioned(
left: 300,
top: 20,
child: PolygonButton(
onPressed: _incrementCounter(1),
vertices: const [
Offset(0, 0),
Offset(50, 200),
Offset(300, 100)
],
child: Text("Clicked ${counters[1]} times"),
),
),
Positioned(
left: 100,
top: 200,
child: PolygonButton(
onPressed: _incrementCounter(2),
vertices: const [
Offset(100, 0),
Offset(100, 200),
Offset(0, 100),
Offset(40, 100)
],
child: Text("Clicked ${counters[2]} times"),
),
),
Positioned(
left: 300,
top: 200,
child: PolygonButton(
onPressed: _incrementCounter(3),
vertices: const [
Offset(100, 0),
Offset(100, 200),
Offset(0, 100),
Offset(40, 100)
],
makeConvex: true,
child: Text("Clicked ${counters[3]} times"),
),
),
],
),
),
);
}
}
更多关于Flutter多边形按钮插件polygon_button的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复