패키지, 저장소 및 앱 카테고리 검색

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

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.