|
| 1 | +# Focused Menu |
| 2 | + |
| 3 | +This is an easy to implement package for adding Focused Long Press Menu to Flutter Applications |
| 4 | + |
| 5 | +## Current Features |
| 6 | + |
| 7 | +* Add Focused Menu to Any Widget you Want |
| 8 | +* Customizations to change The Focused Menu and Animations according to your Application Needs. |
| 9 | + |
| 10 | +## Demo |
| 11 | + |
| 12 | + |
| 13 | +## Usage |
| 14 | +To Use, simply Wrap the Widget you want to add Focused Menu to, with FocusedMenuHolder: |
| 15 | +``` |
| 16 | + Expanded( |
| 17 | + child: GridView( |
| 18 | + physics: BouncingScrollPhysics(), |
| 19 | + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), |
| 20 | + children: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] |
| 21 | +
|
| 22 | + // Wrap each item (Card) with Focused Menu Holder |
| 23 | + .map((e) => FocusedMenuHolder( |
| 24 | + menuWidth: MediaQuery.of(context).size.width*0.50, |
| 25 | + blurSize: 5.0, |
| 26 | + menuItemExtent: 45, |
| 27 | + menuBoxDecoration: BoxDecoration(color: Colors.grey,borderRadius: BorderRadius.all(Radius.circular(15.0))), |
| 28 | + duration: Duration(milliseconds: 100), |
| 29 | + animateMenuItems: true, |
| 30 | + blurBackgroundColor: Colors.black54, |
| 31 | + menuItems: <FocusedMenuItem>[ |
| 32 | + // Add Each FocusedMenuItem for Menu Options |
| 33 | + FocusedMenuItem(title: Text("Open"),trailingIcon: Icon(Icons.open_in_new) ,onPressed: (){ |
| 34 | + Navigator.push(context, MaterialPageRoute(builder: (context)=>ScreenTwo())); |
| 35 | + }), |
| 36 | + FocusedMenuItem(title: Text("Share"),trailingIcon: Icon(Icons.share) ,onPressed: (){}), |
| 37 | + FocusedMenuItem(title: Text("Favorite"),trailingIcon: Icon(Icons.favorite_border) ,onPressed: (){}), |
| 38 | + FocusedMenuItem(title: Text("Delete",style: TextStyle(color: Colors.redAccent),),trailingIcon: Icon(Icons.delete,color: Colors.redAccent,) ,onPressed: (){}), |
| 39 | + ], |
| 40 | + onPressed: (){}, |
| 41 | + child: Card( |
| 42 | + child: Column( |
| 43 | + children: <Widget>[ |
| 44 | + Image.asset("assets/images/image_$e.jpg"), |
| 45 | + ], |
| 46 | + ), |
| 47 | + ), |
| 48 | + )) |
| 49 | + .toList(), |
| 50 | + ), |
| 51 | + ), |
| 52 | +``` |
| 53 | + |
| 54 | +## Roadmap |
| 55 | +Plans to add more customizations. |
| 56 | + |
| 57 | +## License |
| 58 | +[MIT](https://choosealicense.com/licenses/mit/) |
0 commit comments