В моем приложении 4 иконки в нижней панели, мне нужно изменить цвет иконки с серого на белый, я следовал за этим вопрос , но когда я нажимаю любую иконку, все иконки меняют цвет наВ то же время, мне нужно, когда нажмите, например, значок (Домой), просто нажмите значок (Домой).
Как я могу это сделать ??
И какя могу установить домашнюю иконку всегда на первой странице, не нажимая ??(Я имею в виду, когда пользователь открывает приложение, показывает ему домашнюю страницу (белый значок)).
Код:
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
_HomePageState();
@override
void initState() {
// TODO: implement initState
super.initState();
}
bool isPressed = false;
_pressed() {
var newVal = true;
if(isPressed) {
newVal = false;
} else {
newVal = true;
}
setState((){
isPressed = newVal;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Image.asset('assets/logo.png', fit: BoxFit.cover,),
centerTitle: true,
backgroundColor: Colors.grey[900],
),
bottomNavigationBar: BottomAppBar(
color: Colors.grey[900],
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
IconButton(icon: Icon(Icons.info), color: isPressed ? Colors.white:Colors.grey[600], iconSize: 30, onPressed: () {
setState(() {
_pressed();
});
}),
IconButton(icon: Icon(Icons.local_mall), color: isPressed ? Colors.white:Colors.grey[600], iconSize: 30, onPressed: () {
setState(() {
_pressed();
});
}),
IconButton(icon: Icon(Icons.bookmark), color: isPressed ? Colors.white:Colors.grey[600], iconSize: 30, onPressed: () {
setState(() {
_pressed();
});
}),
IconButton(icon: Icon(Icons.home), color: isPressed ? Colors.white:Colors.grey[600], iconSize: 30, onPressed: () {
setState(() {
_pressed();
});
}),
],
),
),
);
}
}