как я могу получить доступ к tabcontroler из класса Bottomnavigationbar в класс tabBar_view? - PullRequest
0 голосов
/ 07 августа 2020

#### это мой класс Botomnavigationbar . ###

Q: Как я могу получить доступ к контроллеру вкладок из класса Bottomnavigationbar в класс tabBar_view?

import 'package:flutter/material.dart';

class Bottomnavigationbar extends StatefulWidget {
  @override
  _BottomnavigationbarState createState() => _BottomnavigationbarState();
}

class _BottomnavigationbarState extends State<Bottomnavigationbar>
    with SingleTickerProviderStateMixin {
  
  TabController tabController;
  @override
  void initState() {
    tabController = new TabController(length: 4, vsync: this);
    super.initState();
  }

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

  @override
  Widget build(BuildContext context) {
    return Material(
      color: Colors.grey.shade300,
      child: TabBar(
        labelColor: Colors.amber,
        unselectedLabelColor: Colors.black45,
        indicatorWeight: 5,
        controller: tabController,
        indicatorColor: Colors.amber,
        tabs: [
          Tab(
            icon: Icon(Icons.dashboard),
          ),
          Tab(
            icon: Icon(Icons.alarm),
          ),
          Tab(
            icon: Icon(Icons.add_shopping_cart),
          ),
          Tab(
            icon: Icon(Icons.person_outline),
          )
        ],
      ),
    );
  }
}

это мой класс tabBar_view для использования tabControler в TabBarView

Помогите мне получить доступ к верхнему Tabbarcontroler для доступа к классу представления нижней панели вкладок.

import 'package:flutter/material.dart';

import 'dashboard.dart';

// ignore: camel_case_types
class tabBar_View extends StatefulWidget {
  @override
  _tabBar_ViewState createState() => _tabBar_ViewState();
}

// ignore: camel_case_types
class _tabBar_ViewState extends State<tabBar_View> {
  TabController tabController;
  @override
  Widget build(BuildContext context) {
    return TabBarView(children: [dashboard()]);
  }
}
...