【发布时间】:2021-06-28 10:07:54
【问题描述】:
最近我开始创建登录/注册页面。我想使用TabBar 小部件和TabBarWiew 在登录/注册之间进行导航。我想用自定义大小的 tabBar 制作页面,并带有如下指标。屏幕高度的三分之一将是带有图像背景的 tabBars。我怎样才能做到这一点?
已编辑
在@CopsOnRoad 的帮助下,我实现了这样的目标:
完整代码:
import 'package:flutter/material.dart';
class CustomTabWidget extends StatefulWidget {
@override
_CustomTabWidget State createState() => _CustomTabWidget State();
}
class _CustomTabWidget State extends State<CustomTabWidget >
with SingleTickerProviderStateMixin {
TabController tabController;
bool showTab = true;
@override
void initState() {
tabController = TabController(
length: 2,
initialIndex: 0,
vsync: this,
);
super.initState();
}
@override
void dispose() {
tabController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width;
return DefaultTabController(
length: 2,
child: showTab
? Scaffold(
appBar: AppBar(
elevation: 3,
leading: Container(),
toolbarHeight: 300,
flexibleSpace: Image.asset(
'assets/images/products/yogurt2.png',
fit: BoxFit.cover,
),
bottom: TabBar(
controller: tabController,
isScrollable: true,
indicatorColor: Colors.green,
indicatorWeight: 2,
labelPadding: EdgeInsets.symmetric(horizontal: width / 6),
tabs: [
Tab(text: 'Login'),
Tab(text: 'Register'),
],
),
),
body: TabBarView(controller: tabController, children: [
Container(
child: Center(
child: Text('Page1'),
),
),
Container(
child: Center(
child: Text('Page2'),
),
),
]),
)
: Container(),
);
}
}
【问题讨论】:
标签: flutter dart flutter-layout