パッケージ、リポジトリ、アプリカテゴリを検索

shaped_bottom_bar のカバー
パッケージ詳細v1.1.0

shaped_bottom_bar

複数の組み込み形状を備えた完全にカスタマイズ可能な下部ナビゲーションバーで、カスタム形状もサポートし、組み込みの遷移アニメーションも利用可能

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
13
いいね数
25
Pub ポイント
150

パッケージをインストール

flutter pub add shaped_bottom_bar

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Flutter向けに完全にカスタマイズ可能なボトムナビゲーションバーで、複数の組み込み形状とカスタム形状のサポートを提供します。タブ間のスムーズな遷移アニメーションを備えており、視覚的に魅力的なナビゲーション体験を可能にします。開発者が美的な柔軟性とクロスプラットフォームでのシームレスなユーザーインタラクションを求めるために設計されています。パッケージは軽量で、既存のFlutterアプリへの統合も簡単です。

用途

  • モバイルアプリにおけるカスタムタブデザイン
  • アニメーション付きの遷移による強化されたナビゲーション
  • クロスプラットフォームのボトムバー
  • モダンなUI実装
  • インタラクティブなアプリケーションインターフェース

主な機能

  • 複数の組み込み形状
  • カスタム形状のサポート
  • 組み込みのトランジションアニメーション
  • 非常にカスタマイズ可能なスタイル
  • クロスプラットフォーム互換性

適している対象

  • モダンなアプリを構築するFlutter開発者
  • デザイン重視のUI実装
  • 独自のナビゲーションパターンを必要とするアプリ
  • アニメーション豊富なコンポーネントを希望する開発者
  • 複数のプラットフォームをターゲットにするプロジェクト

注意事項

  • カスタムペイントの理解が必要です
  • シンプルな使用ケースにおける複雑さを増す可能性があります
  • アニメーションのパフォーマンスは、低スペックデバイスでテストするべきです
  • 基本的な例以外のドキュメントは限られている
  • 専用のナビゲーション機能を必要とするアプリに最適

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

shaped bottom bar

A new bottom bar in Flutter! a shaped bottom bar.

Choose your shape and your animation and let us do the work.

enter image description here Slide_transition_example.gif
fade_transition_example.gif rotated_transition_example.gif
enter image description here enter image description here enter image description here enter image description here
enter image description here enter image description here -- --
  • Installation
  • Widgets introduction
  • Example

Installing

Add this line to pubspec

dependencies:
	shaped_bottom_bar: ^1.1.0

Widgets

ShapedBottomBar This the main widget that will create the bottom bar.

With just two required parameters you get a full bottom bar.

required parameters

  • onItemChanged function that trigger every time you switch between items

  • listItems list of type ShapedItemObject that will be rendered in the bottom bar

this will create a simple bottom bar without any shape with just a different color for the selected item

Other parameters

  • shape variable of type ShapeType enum contains all available shapes, by default it's set to None

  • shapeColor the color of the shape once it selected, by default it's null

  • customShape a CustomPaint type passed to the bottom bar to render a custom shape other than the built-in shapes, to use the customShape you need to set shape to ShapeType.CUSTOM

PS: if you are using customShape the shapeColor parameter won't have any effect on your shape.

  • selectedIconColor the selected icon color, by default it's white

  • backgroundColor the background of the shaped bottom bar, by default it's blue

  • selectedItemIndex the default selected item, by default it's the first one (index 0)

  • textStyle the text style you want to have on the items text (color, size, font family...)

  • animationType attribute of type ANIMATION_TYPE let you choose the animation type possible values:

    • NONE
    • ROTATE
    • FADE
    • SLIDE_VERTICALLY
  • with3dEffect enable/disable the 3D effect on bottom bar selected shape by default it's False


ShapedBottomBarItem the widget that will be used in the listItems parameters in the ShapedBottomBar widget

This widget contains just four parameters.

required parameters

  • icon variable of type IconData it represent the icon that the item will get

Other parameters

  • text the item text, by default it's an empty text.

  • themeColor color that will be set to the icon. by default it's black

  • renderWithText by default it's false, this will indicate whether the widget will render the text or not.

Example

this will generate a normale bottom bar without any shape.

ShapedBottomBar(
	backgroundColor:  Colors.grey,
	listItems: [
		ShapedItemObject(iconData:  Icons.settings, title:  "Settings"),
		ShapedItemObject(iconData:  Icons.account_balance_outlined, title:  "Account"),
		ShapedItemObject(iconData:  Icons.verified_user_rounded, title:  "User"),
		ShapedItemObject(iconData:  Icons.login, title:  "Logout")
	],
	onItemChanged: (position) {
		setState(() {
			this.selectedItem = position;
		});
	},
	selectedIconColor:  Colors.white
)

And the example below will generate a bottom bar with an hexagon shape


ShapedBottomBar(
	backgroundColor:  Colors.grey,
	iconsColor:  Colors.white,
	listItems: [
		ShapedItemObject(iconData:  Icons.settings, title:  "Settings"),
		ShapedItemObject(iconData:  Icons.account_balance_outlined, title:  "Account"),
		ShapedItemObject(iconData:  Icons.verified_user_rounded, title:  "User"),
		ShapedItemObject(iconData:  Icons.login, title:  "Logout"),
	],
	onItemChanged: (position) {
		setState(() {
			this.selectedItem = position;
		});
	},
	shapeColor:  Colors.pink,
	selectedIconColor:  Colors.white,
	shape:  ShapeType.HEXAGONE
)

Shaped bottom bar with hexagon shape

Use your own custom shape

In order to create the shaped bottom bar with your own custom shape you need to use the parameter customShape with shape set to ShapeType.CUSTOM, as it shown below:


ShapedBottomBar(
	backgroundColor:  Colors.blue[50],
	iconsColor:  Color(0xFF020750),
	listItems: [
		ShapedItembject(iconData:  Icons.settings, title:  "Settings"),
		ShapedItemObject(iconData:  Icons.account_balance_outlined, title:  "Account"),
		ShapedItemObject(iconData:  Icons.verified_user_rounded, title:  "User"),
		ShapedItemObject(iconData:  Icons.login, title:  "Logout"),
	],
	onItemChanged: (position) {
		setState(() {
			this.selectedItem = position;
		});
	},
	textStyle:  TextStyle(color:  Colors.black, fontSize:  15),
	shape:  ShapeType.CUSTOM,
	customShape:  CustomPaint(
		painter:  MyShape(),
	))

enter image description here

Use built-in animations


ShapedBottomBar(
	backgroundColor:  Colors.black12,
	iconsColor:  Colors.black,
	listItems: [
		ShapedItemObject(iconData:  Icons.alarm, title:  "Alarm"),
		ShapedItemObject(iconData:  Icons.menu_book, title:  "Menu"),
		ShapedItemObject(iconData:  Icons.verified_user_rounded, title:  "User"),
		ShapedItemObject(iconData:  Icons.login, title:  "Logout")
	],
	onItemChanged: (position) {
		setState(() {
			this.selectedItem = position;
		});
	},
	shape:  ShapeType.OCATGON,
	shapeColor:  Colors.black,
	selectedIconColor:  Colors.white,
	animationType:  ANIMATION_TYPE.ROTATE,
)

And the result:

rotated_transition_example.gif

Use 3D Effect Attribute

ShapedBottomBar(
	backgroundColor:  Colors.black12,
	iconsColor:  Colors.black,
	listItems: [
		ShapedItemObject(iconData:  Icons.alarm, title:  "Alarm"),
		ShapedItemObject(iconData:  Icons.menu_book, title:  "Menu"),
		ShapedItemObject(iconData:  Icons.verified_user_rounded, title:  "User"),
		ShapedItemObject(iconData:  Icons.login, title:  "Logout"),
	],
	onItemChanged: (position) {
		setState(() {
			this.selectedItem = position;
		});
	},
	shape:  ShapeType.SQUARE,
	shapeColor:  Colors.pink,
	selectedIconColor:  Colors.white,
	with3dEffect:  true,
	animationType:  ANIMATION_TYPE.FADE
),

square_with_3D_effect.png

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。