111 votes

désactiver les onglets de balayage dans le flottement TabBar

Bonjour, j'ai une barre d'onglets dans Flutter et je souhaite désactiver le balayage entre les onglets

       // Set the bottom navigation bar
      bottomNavigationBar: new Material(

        // set the color of the bottom navigation bar
        color: const Color(0xFFF7F7F7),
        // set the tab bar as the child of bottom navigation bar
        child: new TabBar(
          tabs: <Tab>[
            new Tab(
              // set icon to the tab
              icon: new Icon(Icons.home,color: Colors.black),
            ),
            new Tab(
              icon: new Icon(Icons.favorite,color: Colors.black),
            ),
            new Tab(
              icon: new Icon(Icons.search,color: Colors.black),
            ),
            new Tab(
              icon: new Icon(Icons.settings,color: Colors.black),
            ),
          ],
          // setup the controller
          controller: controller,


        ),
      ),
    );
  }
}
 

Je déplace des onglets en cliquant sur chaque bouton de la barre d'onglets et je souhaite désactiver le balayage merci

255voto

Raouf Rahiche Points 4482

vous pouvez y parvenir en modifiant la façon dont la vue de la page doit répondre à l'entrée utilisateur à l'aide de la propriété physics . et nous avons un NeverScrollableScrollPhysics à cet effet alors changez simplement physics en celui-ci comme ceci:

 TabBarView(
        physics: NeverScrollableScrollPhysics(),
        controller: tabcontroler,
        children: <Widget>[
          Container(color: Colors.red),
          Container(color: Colors.green),
          Container(color: Colors.blue),
        ],
      ),
 

23voto

Sanjayrajsinh Points 1098

physique: NeverScrollableScrollPhysics(),


1. Vous pouvez désactiver le balayage de TabBarView()

TabBarView(
        physics: NeverScrollableScrollPhysics(),
        controller: tabcontroler,
        children: <Widget>[]
)

2. Vous pouvez désactiver scrooling de ListView() , page Vue()

 ListView.builder(
    // you can set BouncingScrollPhysics() if you show animation when user end of list
          physics: NeverScrollableScrollPhysics(),
          itemCount: categories.length,
          itemBuilder: (BuildContext ctx, int index) {
            return CategoryItem(categories[index]);
          },
)


PageView.builder(
          physics: NeverScrollableScrollPhysics(),
)

la physique d'accepter ces valeur :

1. BouncingScrollPhysics() : rebondir défilement lors de la fin/début de la liste
2. NeverScrollableScrollPhysics() : arrêt de l'onglet modifier OU d'arrêter la liste de défilement OU d'arrêter de changement de page de la page vue
3. ClampingScrollPhysics() : comportement normal

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X