Skip to content

Instantly share code, notes, and snippets.

@liudonghua123
Created April 27, 2020 10:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save liudonghua123/1af2ade4cde5ed5862b8481fe5b89d32 to your computer and use it in GitHub Desktop.
Save liudonghua123/1af2ade4cde5ed5862b8481fe5b89d32 to your computer and use it in GitHub Desktop.
import 'package:flutter/material.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: SamplePage(),
),
),
);
}
}
class SamplePage extends StatefulWidget {
SamplePage({Key key}) : super(key: key);
@override
_SamplePageState createState() => _SamplePageState();
}
class _SamplePageState extends State<SamplePage> with TickerProviderStateMixin {
TabController _tabController;
var tabs = ['tab1', 'tab2'];
@override
void initState() {
_tabController =
TabController(initialIndex: 0, length: tabs.length, vsync: this);
_tabController.addListener(() {
if (_tabController.indexIsChanging) {
setState(() {});
}
});
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Sample'),
),
body: SingleChildScrollView(
child: Column(
children: [
/// placeholder
Container(height: 200),
///tabbar
TabBar(
controller: _tabController,
tabs: [
...tabs.map(
(item) => Tab(
child: Text(item),
),
),
],
),
///tabbar content
AnimatedSwitcher(
duration: Duration(milliseconds: 400),
child: [
Column(
children: [
Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sed congue erat. Maecenas semper, erat non suscipit semper, turpis tellus porta arcu, bibendum suscipit risus est in lorem. Morbi ornare gravida sapien aliquet congue. Suspendisse vehicula, nunc eu suscipit sodales, purus augue venenatis erat',
),
Text(
'eget ullamcorper arcu eros vel augue. Praesent a quam non ex elementum luctus. Sed aliquam augue et nisl pellentesque pharetra. Aliquam vel augue turpis. Ut hendrerit tempor lorem. Fusce non neque consequat nunc ornare commodo et vel ipsum. Morbi vestibulum est tellus, condimentum blandit arcu congue et. Sed vehicula turpis ac est interdum, et malesuada nibh lacinia. Phasellus in ultricies ligula, eu facilisis arcu. '),
Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sed congue erat. Maecenas semper, erat non suscipit semper, turpis tellus porta arcu, bibendum suscipit risus est in lorem. Morbi ornare gravida sapien aliquet congue. Suspendisse vehicula, nunc eu suscipit sodales, purus augue venenatis erat',
),
Text(
'eget ullamcorper arcu eros vel augue. Praesent a quam non ex elementum luctus. Sed aliquam augue et nisl pellentesque pharetra. Aliquam vel augue turpis. Ut hendrerit tempor lorem. Fusce non neque consequat nunc ornare commodo et vel ipsum. Morbi vestibulum est tellus, condimentum blandit arcu congue et. Sed vehicula turpis ac est interdum, et malesuada nibh lacinia. Phasellus in ultricies ligula, eu facilisis arcu. '),
Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sed congue erat. Maecenas semper, erat non suscipit semper, turpis tellus porta arcu, bibendum suscipit risus est in lorem. Morbi ornare gravida sapien aliquet congue. Suspendisse vehicula, nunc eu suscipit sodales, purus augue venenatis erat',
),
Text(
'eget ullamcorper arcu eros vel augue. Praesent a quam non ex elementum luctus. Sed aliquam augue et nisl pellentesque pharetra. Aliquam vel augue turpis. Ut hendrerit tempor lorem. Fusce non neque consequat nunc ornare commodo et vel ipsum. Morbi vestibulum est tellus, condimentum blandit arcu congue et. Sed vehicula turpis ac est interdum, et malesuada nibh lacinia. Phasellus in ultricies ligula, eu facilisis arcu. '),
Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sed congue erat. Maecenas semper, erat non suscipit semper, turpis tellus porta arcu, bibendum suscipit risus est in lorem. Morbi ornare gravida sapien aliquet congue. Suspendisse vehicula, nunc eu suscipit sodales, purus augue venenatis erat',
),
Text(
'eget ullamcorper arcu eros vel augue. Praesent a quam non ex elementum luctus. Sed aliquam augue et nisl pellentesque pharetra. Aliquam vel augue turpis. Ut hendrerit tempor lorem. Fusce non neque consequat nunc ornare commodo et vel ipsum. Morbi vestibulum est tellus, condimentum blandit arcu congue et. Sed vehicula turpis ac est interdum, et malesuada nibh lacinia. Phasellus in ultricies ligula, eu facilisis arcu. '),
],
),
Container(
height: 300,
width: double.infinity,
color: Colors.red,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('text1'),
Text('text1'),
Text('text1'),
],
),
),
][_tabController.index],
),
],
),
),
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment