Flutter 将弧形导航栏选项卡上的按钮颜色更改为“主”
我正在使用CurvedNavigationBar作为我的底部导航栏。点击后,我想将此黑色图标颜色更改为原色。但当它没有点击时,我只希望钛是黑色。我怎么做? 我尝试更改CurvedNavigationBar的最后三个属性,但没有得到所需的输出 代码:Flutter 将弧形导航栏选项卡上的按钮颜色更改为“主”,flutter,dart,Flutter,Dart,我正在使用CurvedNavigationBar作为我的底部导航栏。点击后,我想将此黑色图标颜色更改为原色。但当它没有点击时,我只希望钛是黑色。我怎么做? 我尝试更改CurvedNavigationBar的最后三个属性,但没有得到所需的输出 代码: 最终底部导航栏=曲线导航栏( 项目:[ SvgPicture.asset( “assets/images/hand shake.svg”, key:key('sessionpage'), 高度:ScreenUtil().setHeight(26),
最终底部导航栏=曲线导航栏(
项目:[
SvgPicture.asset(
“assets/images/hand shake.svg”,
key:key('sessionpage'),
高度:ScreenUtil().setHeight(26),
宽度:ScreenUtil().setWidth(26),
颜色:颜色,黑色,
),
SvgPicture.asset(
“assets/images/home.svg”,
高度:ScreenUtil().setHeight(26),
键:键(“FeedsPage”),
宽度:ScreenUtil().setWidth(26),
颜色:颜色,黑色,
),
卡片(
标高:5,
形状:
RoundedRectangleBorder(borderRadius:borderRadius.circular(50)),
孩子:圆环星(
背景颜色:Colors.white,
半径:24,
子:图标(
图标。编辑,
颜色:颜色,黑色,
尺码:35,
),
),
),
影像资产(
“assets/images/booking_icon.png”,
高度:ScreenUtil().setHeight(26),
宽度:ScreenUtil().setWidth(26),
颜色:颜色,黑色,
),
StreamBuilder(
流:usersRef
.document(CurrentUser().CurrentUser.databaseID)
.collection(“警报”)
.snapshots(),
生成器:(上下文,快照){
交换机(快照.连接状态){
案例连接状态。无:
案例连接状态。正在等待:
返回堆栈(
儿童:[
SvgPicture.asset(
“assets/images/noti.svg”,
高度:ScreenUtil().setHeight(26),
宽度:ScreenUtil().setWidth(26),
颜色:颜色,黑色,
),
圆形(
半径:2,
)
],
);
违约:
List rev1=snapshot.data.documents.toList();
列表res1=[];
对于(第1版中的var i){
如果(i.data['seen']==false)res1.add(i.documentID);
}
返回堆栈(
儿童:[
SvgPicture.asset(
“assets/images/noti.svg”,
高度:ScreenUtil().setHeight(26),
宽度:ScreenUtil().setWidth(26),
颜色:颜色,黑色,
),
res1.length==0
?圆形(
半径:2,
)
:CircleAvatar(
半径:8,
背景颜色:Colors.white,
子:文本(
res1.length.toString(),
样式:TextStyle(字体大小:10),
),
),
],
);
}
//子项:SvgPicture.asset(
//“assets/images/noti.svg”,
//高度:ScreenUtil().setHeight(28),
//宽度:ScreenUtil().setWidth(28),
//颜色:白色,
// ),
}),
],
onTap:onTabTapped,
索引:_currentIndex,
背景颜色:Colors.white,
按钮背景颜色:白色,
颜色:颜色,白色,
身高:60,
);
返回脚手架(底部导航栏:底部导航栏,主体:返回主体());
}
}
我不知道这个
CurvedNavigationBar
小部件,但是,查看您的代码,我可以假设您已经在\u currentIndex
变量中选择了索引
因此,您只需更改项目并验证此属性即可定义正确的颜色:
CurvedNavigationBar(
项目:[
SvgPicture.asset(
“assets/images/hand shake.svg”,
key:key('sessionpage'),
高度:ScreenUtil().setHeight(26),
宽度:ScreenUtil().setWidth(26),
颜色:_currentIndex==0?颜色。红色:颜色。黑色,
),
//其他项目,增加索引验证(例如==1、==2等)
],
//其他属性。。。
);
只需将
颜色。红色
更改为您想要的颜色。我不知道这个曲线导航栏
小部件,但是,查看您的代码,我可以假设您已经在\u currentIndex
变量中选择了索引
因此,您只需更改项目并验证此属性即可定义正确的颜色:
CurvedNavigationBar(
项目:[
SvgPicture.asset(
“assets/images/hand shake.svg”,
key:key('sessionpage'),
高度:ScreenUtil().setHeight(26),
宽度:ScreenUtil().setWidth(26),
颜色:_currentIndex==0?颜色。红色:颜色。黑色,
),
//其他项目,增加索引验证(例如==1、==2等)
],
//其他属性。。。
);
只需更改
颜色。红色
为您想要的颜色。有效,非常感谢。你能告诉我如何在通知栏上添加黑色边框或阴影吗?很好,谢谢。您还可以告诉我如何在通知栏上方添加黑色边框或阴影吗?
final bottomNavBar = CurvedNavigationBar(
items: [
SvgPicture.asset(
'assets/images/hand-shake.svg',
key: Key('SessionsPage'),
height: ScreenUtil().setHeight(26),
width: ScreenUtil().setWidth(26),
color: Colors.black,
),
SvgPicture.asset(
'assets/images/home.svg',
height: ScreenUtil().setHeight(26),
key: Key("FeedsPage"),
width: ScreenUtil().setWidth(26),
color: Colors.black,
),
Card(
elevation: 5,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(50)),
child: CircleAvatar(
backgroundColor: Colors.white,
radius: 24,
child: Icon(
Icons.edit,
color: Colors.black,
size: 35,
),
),
),
Image.asset(
'assets/images/booking_icon.png',
height: ScreenUtil().setHeight(26),
width: ScreenUtil().setWidth(26),
color: Colors.black,
),
StreamBuilder(
stream: usersRef
.document(CurrentUser().currentUser.databaseID)
.collection('Alerts')
.snapshots(),
builder: (context, snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.none:
case ConnectionState.waiting:
return Stack(
children: <Widget>[
SvgPicture.asset(
'assets/images/noti.svg',
height: ScreenUtil().setHeight(26),
width: ScreenUtil().setWidth(26),
color: Colors.black,
),
CircleAvatar(
radius: 2,
)
],
);
default:
List rev1 = snapshot.data.documents.toList();
List res1 = [];
for (var i in rev1) {
if (i.data['seen'] == false) res1.add(i.documentID);
}
return Stack(
children: <Widget>[
SvgPicture.asset(
'assets/images/noti.svg',
height: ScreenUtil().setHeight(26),
width: ScreenUtil().setWidth(26),
color: Colors.black,
),
res1.length == 0
? CircleAvatar(
radius: 2,
)
: CircleAvatar(
radius: 8,
backgroundColor: Colors.white,
child: Text(
res1.length.toString(),
style: TextStyle(fontSize: 10),
),
),
],
);
}
// child: SvgPicture.asset(
// 'assets/images/noti.svg',
// height: ScreenUtil().setHeight(28),
// width: ScreenUtil().setWidth(28),
// color: whiteColor,
// ),
}),
],
onTap: onTabTapped,
index: _currentIndex,
backgroundColor: Colors.white,
buttonBackgroundColor: whiteColor,
color: Colors.white,
height: 60,
);
return Scaffold(bottomNavigationBar: bottomNavBar, body: returnBody());
}
}