Uma dúvida, o SetState funciona para marcar o BottomNavigationbar ( alterar os icones ), mas quando voce faz um slide na página passando para um lado ou para o outro, o icone não altera o estado. Preciso definir um setState dentro do PageView para que os icones alterem no slide (esquerda/direita) ?
No meu muda a cor e a page quando clicado os ícones, mas quando muda a page usando o mouse em si, puxando pro lado, não mudou. A cam dele fica bem na frente kk ai não dá pra saber se a dele ficou assim tbm.
No meu código não consegui fazer alterar no BottomNavigationBar quando faço o slide no pageview, só achei em desabilitar o slide no physics. Mas como faria pra alterar no navigationbar quando faço o slide?
Agora eu aprendo Flutter de verdade a Comunidade Flutter Discord me indicaram o canal do Deivid no Yutube sem palavras por suas aulas
Aula show de mais.
Bons estudos!
Vi vc no TDC Innovation Floripa - SC
q aula, mto top, cara, nao mude.
Cara, excelente aula!!!!!!! parabéns, está me ajudando muito!
Conteúdo TOP ! Muito obrigado Prof. Deivid !
Excelente aula Deivid, muito obrigado!
Muito obrigado !
Aula sensacional, parabéns pelo conteudo
Muito obrigado
Uma dúvida, o SetState funciona para marcar o BottomNavigationbar ( alterar os icones ), mas quando voce faz um slide na página passando para um lado ou para o outro, o icone não altera o estado. Preciso definir um setState dentro do PageView para que os icones alterem no slide (esquerda/direita) ?
Exatamente, chame o setstate que ele vai alterar o índex.
Professor, mesmo com o setState, não está sendo alterado a cor dos ícones quando clicados. As paginas alternam normalmente.
No meu muda a cor e a page quando clicado os ícones, mas quando muda a page usando o mouse em si, puxando pro lado, não mudou. A cam dele fica bem na frente kk ai não dá pra saber se a dele ficou assim tbm.
Quando clico nos icones, tudo ocorre normalmente. Mas quando deslizo as telas, o botton navigation não muda o icone ativo.
No meu código não consegui fazer alterar no BottomNavigationBar quando faço o slide no pageview, só achei em desabilitar o slide no physics. Mas como faria pra alterar no navigationbar quando faço o slide?
Deve fazer um setstate e alterar o índex ativo na bottomBar
Pra mim não funciona, e não tenho nenhum erro ou aviso, comecei a maratonar seu conteudo agora. kkk
Segue o código Abaixo:
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: Colors.cyan,
),
home: const HomePage());
}
}
//------------------------------------------------------------------------------------------------------------------------------------
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
State createState() => _HomePageState();
}
class _HomePageState extends State {
final PageController _pageController = PageController();
var bottomPage = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Exemplo"),
centerTitle: true,
),
body: PageView(
controller: _pageController,
children: [
Column(
children: [
Container(color: Colors.orange),
Container(color: Colors.cyan),
Container(color: Colors.red),
Container(color: Colors.green),
Container(color: Colors.indigo),
],
)
],
),
bottomNavigationBar: BottomNavigationBar(
currentIndex: bottomPage,
selectedItemColor: Colors.amber[800],
onTap: (int page) {
setState(() {
bottomPage = page;
});
_pageController.animateToPage(
page,
duration: const Duration(milliseconds: 500),
curve: Curves.ease,
);
},
type: BottomNavigationBarType.fixed,
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
backgroundColor: Colors.orange,
),
BottomNavigationBarItem(
icon: Icon(Icons.abc_outlined),
label: 'Teste 1',
backgroundColor: Colors.cyan,
),
BottomNavigationBarItem(
icon: Icon(Icons.access_alarm_rounded),
label: 'Teste 2',
backgroundColor: Colors.red,
),
BottomNavigationBarItem(
icon: Icon(Icons.accessibility),
label: 'Teste 3',
backgroundColor: Colors.green,
),
BottomNavigationBarItem(
icon: Icon(Icons.settings),
label: 'Configurações',
backgroundColor: Colors.indigo,
),
],
),
);
}
}
Opa tira o "const" da HomePage