Flutter底部导航栏插件flutter_jelly_tab_bar的使用
Flutter底部导航栏插件flutter_jelly_tab_bar的使用
Flutter浪漫底部果冻标签栏
一个用于创建浪漫底部果冻标签栏的 Flutter 包。这将有助于你的应用程序更加出色。
这是来自浪漫项目的一个礼物。更多详情请访问 浪漫开发者
示例
import 'package:flutter/material.dart';
import 'package:flutter_jelly_tab_bar/flutter_jelly_tab_bar.dart';
void main() => runApp(MyApp());
// 定义一组图标
const kSampleIcons = [
Icons.track_changes_outlined,
Icons.receipt_long_outlined,
Icons.wifi_protected_setup_outlined,
Icons.add_to_home_screen_outlined,
];
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: '示例',
theme: ThemeData(
primarySwatch: Colors.red,
),
home: Scaffold(
backgroundColor: Colors.black,
body: Stack(
alignment: Alignment.bottomCenter,
children: [
// 图片背景
Column(
children: [
Expanded(
child: Image.asset(
'assets/a.jpeg',
fit: BoxFit.cover,
),
),
],
),
// 底部果冻标签栏
JellyTabBar(
margin: EdgeInsets.all(16),
tabs: kSampleIcons.map((e) => Icon(e)).toList(),
),
],
),
),
);
}
}
开发环境
[✓] Flutter (Channel stable, 2.10.1, on macOS 12.3.1 21E258 darwin-x64, locale en-VN)
• Flutter version 2.10.1 at ~/fvm/versions/stable
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision db747aa133 (2个月前), 2022-02-09 13:57:35 -0600
• Engine revision ab46186b24
• Dart version 2.16.1
• DevTools version 2.9.2
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at ~/Library/Android/sdk
• Platform android-31, build-tools 30.0.3
• ANDROID_HOME = ~/Library/Android/sdk
• ANDROID_SDK_ROOT = ~/Library/Android/sdk
• Java binary at: /Applications/Android Studio 2020.3.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
• 所有Android许可证已接受。
[✓] Xcode - develop for iOS和macOS (Xcode 13.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• CocoaPods版本 1.11.2
[✓] Android Studio (版本 2020.3)
• Android Studio at /Applications/Android Studio 2020.3.app/Contents
• Flutter插件可以从这里安装:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart插件可以从这里安装:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java版本 OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
示例代码
import 'package:flutter/material.dart';
import 'package:flutter_jelly_tab_bar/flutter_jelly_tab_bar.dart';
void main() => runApp(MyApp());
// 定义一组图标
const kSampleIcons = [
Icons.track_changes_outlined,
Icons.receipt_long_outlined,
Icons.wifi_protected_setup_outlined,
Icons.add_to_home_screen_outlined,
];
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: '示例',
theme: ThemeData(
primarySwatch: Colors.red,
),
home: Scaffold(
backgroundColor: Colors.black,
body: Stack(
alignment: Alignment.bottomCenter,
children: [
// 图片背景
Column(
children: [
Expanded(
child: Image.asset(
'assets/a.jpeg',
fit: BoxFit.cover,
),
),
],
),
// 底部果冻标签栏
JellyTabBar(
margin: EdgeInsets.all(16),
tabs: kSampleIcons.map((e) => Icon(e)).toList(),
),
],
),
),
);
}
}
更多关于Flutter底部导航栏插件flutter_jelly_tab_bar的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter底部导航栏插件flutter_jelly_tab_bar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_jelly_tab_bar
是一个用于 Flutter 的底部导航栏插件,具有独特的动画效果和外观。它提供了一个类似于果冻效果的导航栏,可以为你的应用增添一些趣味性和视觉吸引力。
安装
首先,你需要在 pubspec.yaml
文件中添加 flutter_jelly_tab_bar
依赖:
dependencies:
flutter:
sdk: flutter
flutter_jelly_tab_bar: ^0.1.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
使用示例
以下是一个简单的使用 flutter_jelly_tab_bar
的示例:
import 'package:flutter/material.dart';
import 'package:flutter_jelly_tab_bar/flutter_jelly_tab_bar.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Jelly Tab Bar Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: JellyTabBarExample(),
);
}
}
class JellyTabBarExample extends StatefulWidget {
[@override](/user/override)
_JellyTabBarExampleState createState() => _JellyTabBarExampleState();
}
class _JellyTabBarExampleState extends State<JellyTabBarExample> {
int _selectedIndex = 0;
// 定义页面
final List<Widget> _pages = [
Center(child: Text('Home Page')),
Center(child: Text('Search Page')),
Center(child: Text('Profile Page')),
];
// 定义导航栏项
final List<JellyTabBarItem> _tabBarItems = [
JellyTabBarItem(icon: Icons.home, title: 'Home'),
JellyTabBarItem(icon: Icons.search, title: 'Search'),
JellyTabBarItem(icon: Icons.person, title: 'Profile'),
];
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
body: _pages[_selectedIndex],
bottomNavigationBar: JellyTabBar(
items: _tabBarItems,
selectedIndex: _selectedIndex,
onTap: (index) {
setState(() {
_selectedIndex = index;
});
},
),
);
}
}