How to preserve the selected tab in Flutter upon orientation change?











up vote
0
down vote

favorite












I have an app with Tabs in Flutter and when I change orientation by rotating the device from portrait to landscape, the widget tree gets rebuilt and the state of the widgets gets reset. The effect is that the selected tab is reset back to the first tab. I would like to prevent the state from being reset during orientation changes so that the selected tab does not also change.



In my State class I'm using the AutomaticKeepAliveClientMixin and have set:



@override
bool get wantKeepAlive => true;


but that does not seem to have any effect.



Is there a way to ensure that all of my application and widget states are preserved when the device is rotated?



I can post code if that would be helpful, although I expect that this is a fairly generic question with a simple answer that I have not thought of yet.



Thanks!










share|improve this question






















  • Can you add some example? It's likely something wrong in your widget tree
    – Rémi Rousselet
    3 hours ago















up vote
0
down vote

favorite












I have an app with Tabs in Flutter and when I change orientation by rotating the device from portrait to landscape, the widget tree gets rebuilt and the state of the widgets gets reset. The effect is that the selected tab is reset back to the first tab. I would like to prevent the state from being reset during orientation changes so that the selected tab does not also change.



In my State class I'm using the AutomaticKeepAliveClientMixin and have set:



@override
bool get wantKeepAlive => true;


but that does not seem to have any effect.



Is there a way to ensure that all of my application and widget states are preserved when the device is rotated?



I can post code if that would be helpful, although I expect that this is a fairly generic question with a simple answer that I have not thought of yet.



Thanks!










share|improve this question






















  • Can you add some example? It's likely something wrong in your widget tree
    – Rémi Rousselet
    3 hours ago













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have an app with Tabs in Flutter and when I change orientation by rotating the device from portrait to landscape, the widget tree gets rebuilt and the state of the widgets gets reset. The effect is that the selected tab is reset back to the first tab. I would like to prevent the state from being reset during orientation changes so that the selected tab does not also change.



In my State class I'm using the AutomaticKeepAliveClientMixin and have set:



@override
bool get wantKeepAlive => true;


but that does not seem to have any effect.



Is there a way to ensure that all of my application and widget states are preserved when the device is rotated?



I can post code if that would be helpful, although I expect that this is a fairly generic question with a simple answer that I have not thought of yet.



Thanks!










share|improve this question













I have an app with Tabs in Flutter and when I change orientation by rotating the device from portrait to landscape, the widget tree gets rebuilt and the state of the widgets gets reset. The effect is that the selected tab is reset back to the first tab. I would like to prevent the state from being reset during orientation changes so that the selected tab does not also change.



In my State class I'm using the AutomaticKeepAliveClientMixin and have set:



@override
bool get wantKeepAlive => true;


but that does not seem to have any effect.



Is there a way to ensure that all of my application and widget states are preserved when the device is rotated?



I can post code if that would be helpful, although I expect that this is a fairly generic question with a simple answer that I have not thought of yet.



Thanks!







flutter orientation state






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 3 hours ago









James A. White

62




62












  • Can you add some example? It's likely something wrong in your widget tree
    – Rémi Rousselet
    3 hours ago


















  • Can you add some example? It's likely something wrong in your widget tree
    – Rémi Rousselet
    3 hours ago
















Can you add some example? It's likely something wrong in your widget tree
– Rémi Rousselet
3 hours ago




Can you add some example? It's likely something wrong in your widget tree
– Rémi Rousselet
3 hours ago

















active

oldest

votes











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',
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%2f53371514%2fhow-to-preserve-the-selected-tab-in-flutter-upon-orientation-change%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371514%2fhow-to-preserve-the-selected-tab-in-flutter-upon-orientation-change%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

Npm cannot find a required file even through it is in the searched directory