Diamond Floating Action Button
Complete Code For Diamond Floating Action Button In Flutter
main.dart
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: MyApp(),
));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
backgroundColor: Colors.blue[800],
title: new Text("Rhombus shaped FloatingActionButton"),
),
floatingActionButton: FloatingActionButton(
backgroundColor: Colors.blue[800],
onPressed: (){},
child: Icon(Icons.home),
shape: MyH0mePage(),
),
);
}
}
class MyH0mePage extends ShapeBorder {
const MyH0mePage();
@override
EdgeInsetsGeometry get dimensions {
return const EdgeInsets.only();
}
@override
Path getInnerPath(Rect rect, { TextDirection textDirection }) {
return getOuterPath(rect, textDirection: textDirection);
}
@override
Path getOuterPath(Rect rect, { TextDirection textDirection }) {
return Path()
..moveTo(rect.left + rect.width / 2.0, rect.top)
..lineTo(rect.right, rect.top + rect.height / 2.0)
..lineTo(rect.left + rect.width / 2.0, rect.bottom)
..lineTo(rect.left, rect.top + rect.height / 2.0)
..close();
}
@override
void paint(Canvas canvas, Rect rect, { TextDirection textDirection }) {}
@override
ShapeBorder scale(double t) {
return null;
}
}