Flutter disable tab bar items





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







1















I want to be able to programmatically disable/enable tab bar items in Flutter and was wondering how to go about doing that?



In IOS for example, it would be along the lines of tabBarItem1.isEnabled = false.



I want to disable user interaction with the tab bar until they go through a process first for example pressing a button.



Any help/pointers would be much appreciated.










share|improve this question

























  • You can replace any onTap, onPressed etc. with null, which will remove all interactions.

    – creativecreatorormaybenot
    Jun 2 '18 at 5:34











  • Please share the code you have tried till now

    – dhuma1981
    Jun 2 '18 at 6:06


















1















I want to be able to programmatically disable/enable tab bar items in Flutter and was wondering how to go about doing that?



In IOS for example, it would be along the lines of tabBarItem1.isEnabled = false.



I want to disable user interaction with the tab bar until they go through a process first for example pressing a button.



Any help/pointers would be much appreciated.










share|improve this question

























  • You can replace any onTap, onPressed etc. with null, which will remove all interactions.

    – creativecreatorormaybenot
    Jun 2 '18 at 5:34











  • Please share the code you have tried till now

    – dhuma1981
    Jun 2 '18 at 6:06














1












1








1


0






I want to be able to programmatically disable/enable tab bar items in Flutter and was wondering how to go about doing that?



In IOS for example, it would be along the lines of tabBarItem1.isEnabled = false.



I want to disable user interaction with the tab bar until they go through a process first for example pressing a button.



Any help/pointers would be much appreciated.










share|improve this question
















I want to be able to programmatically disable/enable tab bar items in Flutter and was wondering how to go about doing that?



In IOS for example, it would be along the lines of tabBarItem1.isEnabled = false.



I want to disable user interaction with the tab bar until they go through a process first for example pressing a button.



Any help/pointers would be much appreciated.







flutter tabbar cupertinotabbar






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jun 1 '18 at 18:23









Chillie

1,051926




1,051926










asked Jun 1 '18 at 18:20









mousaamousaa

63




63













  • You can replace any onTap, onPressed etc. with null, which will remove all interactions.

    – creativecreatorormaybenot
    Jun 2 '18 at 5:34











  • Please share the code you have tried till now

    – dhuma1981
    Jun 2 '18 at 6:06



















  • You can replace any onTap, onPressed etc. with null, which will remove all interactions.

    – creativecreatorormaybenot
    Jun 2 '18 at 5:34











  • Please share the code you have tried till now

    – dhuma1981
    Jun 2 '18 at 6:06

















You can replace any onTap, onPressed etc. with null, which will remove all interactions.

– creativecreatorormaybenot
Jun 2 '18 at 5:34





You can replace any onTap, onPressed etc. with null, which will remove all interactions.

– creativecreatorormaybenot
Jun 2 '18 at 5:34













Please share the code you have tried till now

– dhuma1981
Jun 2 '18 at 6:06





Please share the code you have tried till now

– dhuma1981
Jun 2 '18 at 6:06












1 Answer
1






active

oldest

votes


















0














I am using this as a workaround.



Regular tab:



Widget regularTab = Tab(
icon: Icon(Icons.widgets),
text: AppLocalizations.of(context).regularTab,
);


Tab that won't change index on tap (or will perform any other action of your own):



Widget disabledTab = Material(
child: InkWell(
child: Container(
child: regularTab,
width: double.infinity,
),
onTap: () {
print('${DateTime.now()} tapped');
},
),
color: Colors.transparent,
textStyle: Theme.of(context).primaryTextTheme.body2,
);





share|improve this answer


























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f50649068%2fflutter-disable-tab-bar-items%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I am using this as a workaround.



    Regular tab:



    Widget regularTab = Tab(
    icon: Icon(Icons.widgets),
    text: AppLocalizations.of(context).regularTab,
    );


    Tab that won't change index on tap (or will perform any other action of your own):



    Widget disabledTab = Material(
    child: InkWell(
    child: Container(
    child: regularTab,
    width: double.infinity,
    ),
    onTap: () {
    print('${DateTime.now()} tapped');
    },
    ),
    color: Colors.transparent,
    textStyle: Theme.of(context).primaryTextTheme.body2,
    );





    share|improve this answer






























      0














      I am using this as a workaround.



      Regular tab:



      Widget regularTab = Tab(
      icon: Icon(Icons.widgets),
      text: AppLocalizations.of(context).regularTab,
      );


      Tab that won't change index on tap (or will perform any other action of your own):



      Widget disabledTab = Material(
      child: InkWell(
      child: Container(
      child: regularTab,
      width: double.infinity,
      ),
      onTap: () {
      print('${DateTime.now()} tapped');
      },
      ),
      color: Colors.transparent,
      textStyle: Theme.of(context).primaryTextTheme.body2,
      );





      share|improve this answer




























        0












        0








        0







        I am using this as a workaround.



        Regular tab:



        Widget regularTab = Tab(
        icon: Icon(Icons.widgets),
        text: AppLocalizations.of(context).regularTab,
        );


        Tab that won't change index on tap (or will perform any other action of your own):



        Widget disabledTab = Material(
        child: InkWell(
        child: Container(
        child: regularTab,
        width: double.infinity,
        ),
        onTap: () {
        print('${DateTime.now()} tapped');
        },
        ),
        color: Colors.transparent,
        textStyle: Theme.of(context).primaryTextTheme.body2,
        );





        share|improve this answer















        I am using this as a workaround.



        Regular tab:



        Widget regularTab = Tab(
        icon: Icon(Icons.widgets),
        text: AppLocalizations.of(context).regularTab,
        );


        Tab that won't change index on tap (or will perform any other action of your own):



        Widget disabledTab = Material(
        child: InkWell(
        child: Container(
        child: regularTab,
        width: double.infinity,
        ),
        onTap: () {
        print('${DateTime.now()} tapped');
        },
        ),
        color: Colors.transparent,
        textStyle: Theme.of(context).primaryTextTheme.body2,
        );






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Jan 3 at 15:32

























        answered Jan 3 at 15:20









        Artyom SokolovArtyom Sokolov

        1,48731627




        1,48731627
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f50649068%2fflutter-disable-tab-bar-items%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith