A different take on your standard bottom app bar. Inspired by https://dribbble.com/shots/6957731-Reader-app-tab-bar
Add the plugin:
dependencies: ... fancy_bottom_bar: ^0.0.1
Adding the widget to a Scaffold
bottomNavigationBar: FancyBottomBar( items: [ FancyBottomItem(title: Text("Home"), icon: Icon(Icons.home)), FancyBottomItem(title: Text("Connect"), icon: Icon(Icons.usb)), FancyBottomItem(title: Text("Profile"), icon: Icon(Icons.person)) ], onItemSelected: (i) => setState(() => selectedPos = i), selectedPosition: selectedPos, )
items -> List of
onItemSelected -> Function to handle a tap selection change, receives an
selectedPosition -> The currently selected position<br/>
height -> The height of the
FancyBottomBar, defaults to 64<br/>
elevation -> The elevation for the
FancyBottomBar, defaults to 8<br/>
bgColor -> The bottom app bar's background color, defaults to the
indicatorColor -> The tiny circle indicator color, defaults to
selectedColor -> The pulsing circle's color, defaults to the
title -> The widget to be used as the Title for this tab, usually a Text Widget<br/> icon -> The widget to be used as the Icon for this tab, usually an Icon Widget<br/>
Contributions are always welcome, feel free to open a PR.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
- Foreign Function Interface for interoperability with the C programming language. [...]
- HTML elements and other resources for web-based applications that need to interact with the browser and the DOM (Document Object Model). [...]
- Utility methods to efficiently manipulate typed JSInterop objects in cases where the name to call is not known at runtime. You should only use these methods when the same effect cannot be achieved with @JS annotations. These methods would be extension methods on JSObject if Dart supported extension methods.