import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'TabBarIndicator.dart';
import 'package:netrain_flutter_app/common/Images.dart';

class TabBarPage extends StatefulWidget {
  @override
  _TabBarPageState createState() => new _TabBarPageState();
}

class _TabBarPageState extends State<TabBarPage>
    with SingleTickerProviderStateMixin {
  TabController _tabController;

  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }

  void initState() {
    super.initState();
    _tabController = new TabController(vsync: this, length: 8);
  }

 @override
 Widget build(BuildContext context) => DefaultTabController(
     length: 4,
      child: Scaffold(
          appBar: AppBar(
              title: Text('TabBar Page'),
              bottom: TabBar(
                tabs: <Widget>[
                  Tab(text: '今日爆款'),
                  Tab(text: '土货生鲜'),
                  Tab(text: '会员中心'),
                  Tab(text: '分类')
                ],
                indicatorColor: Colors.black54,
                indicatorSize: TabBarIndicatorSize.label,
                isScrollable: true,
              )),
          body: TabBarView(children: <Widget>[
           Center(child: PageItemView(0)),
           Center(child: PageItemView(1)),
           Center(child: PageItemView(2)),
           Center(child: PageItemView(3))
         ])));

  PageItemView(int index) {
    return ListView.builder(
      itemCount: 10,
      itemBuilder: (BuildContext context, int position) {
        return getRow(position);
      },
    );
  }
  Widget getRow(int i) {
    return GestureDetector(
      child: Container(
        padding: EdgeInsets.all(16),
        child: Row(
          children: [
            Container(
              child: Image(image: AssetImage(Images.ic_doctor_avatar)),
              padding: EdgeInsets.only(right: 10),
            ),
            Text("患者 $i"),
          ],
        ),
      ),
      onTap: () {
        setState(() {
          print('row $i');
        });
      },
    );
  }
//   _tabBarView() => TabBarView(
//       controller: _tabController,
//       physics: NeverScrollableScrollPhysics(),
// //            dragStartBehavior: DragStartBehavior.down,
//       children: <Widget>[
//         Center(child: Text('今日爆款')),
//         Center(child: Text('土货生鲜')),
//         Center(child: Text('会员中心')),
//         Center(child: Text('分类')),
//         Center(child: Text('今日爆款')),
//         Center(child: Text('土货生鲜')),
//         Center(child: Text('会员中心')),
//         Center(child: Text('分类'))
//       ]);
//
//   _tabBarTop() => TabBar(tabs: <Widget>[
//     Tab(text: '今日爆款'),
//     Tab(text: '土货生鲜'),
//     Tab(text: '会员中心'),
//     Tab(text: '分类'),
//     Tab(text: '今日爆款'),
//     Tab(text: '土货生鲜'),
//     Tab(text: '会员中心'),
//     Tab(text: '分类')
//   ], controller: _tabController);
//
//   _tabBarBottom() => TabBar(
//       indicatorColor: Colors.redAccent,
//       indicatorWeight: 4,
//       indicatorSize: TabBarIndicatorSize.label,
//       indicatorPadding: EdgeInsets.all(5),
//       labelColor: Colors.redAccent,
//       labelStyle: TextStyle(color: Colors.green, fontSize: 16),
//       labelPadding: EdgeInsets.all(4),
//       unselectedLabelColor: Colors.white,
//       unselectedLabelStyle: TextStyle(color: Colors.purpleAccent, fontSize: 14),
//       dragStartBehavior: DragStartBehavior.down,
//       indicator: ACETabBarIndicator(),
//       isScrollable: true,
//       tabs: <Widget>[
//         Tab(text: '今日爆款'),
//         Tab(text: '土货生鲜'),
//         Tab(text: '会员中心'),
//         Tab(
//             child: Text('分类',
//                 style: TextStyle(color: Colors.black, fontSize: 18))),
//         Tab(text: '今日爆款'),
//         Tab(text: '土货生鲜'),
//         Tab(text: '会员中心'),
//         Tab(text: '分类')
//       ],
//       controller: _tabController);
}