我正在试用Flutter,我正在尝试更改应用程序上BottomNavigationBar
的颜色,但我所能做的只是更改Bottom导航项
这里是我声明我的< code>BottomNavigationBar
的地方:
class _BottomNavigationState extends State<BottomNavigationHolder>{
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: null,
body: pages(),
bottomNavigationBar:new BottomNavigationBar(
items: <BottomNavigationBarItem>[
new BottomNavigationBarItem(
icon: const Icon(Icons.home),
title: new Text("Home")
),
new BottomNavigationBarItem(
icon: const Icon(Icons.work),
title: new Text("Self Help")
),
new BottomNavigationBarItem(
icon: const Icon(Icons.face),
title: new Text("Profile")
)
],
currentIndex: index,
onTap: (int i){setState((){index = i;});},
fixedColor: Colors.white,
),
);
}
早些时候,我以为我通过在主端主题上将画布颜色
编辑为绿色来解决这个问题,但它打乱了整个应用程序的配色方案:
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
canvasColor: Colors.green
),
home: new FirstScreen(),
);
}
}
接受的答案并不完全错误。然而,BottomNavigationBar
实际上确实具有background Color
的属性。根据留档
如果类型为BottomNavigationBarType。shifting和items,则具有BottomNavigationBarItem。backgroundColor设置后,项目的background color将弹出并覆盖此颜色。
这意味着BottomNaviation
的background Color将被各个项目background Color覆盖,因为默认类型是BottomNavigationBarType.shifting
。
要解决这个问题,只需将以下属性添加到声明的< code>BottomNavigationbar小部件中。
type: BottomNavigationBarType.fixed,
注意:但是,如果您想要改变效果,则必须声明每个项目的颜色,或者包装允许覆盖子窗口小部件背景色的窗口小部件。
i. e类似Container
小部件的东西。
底部导航栏
可以是固定的,也可以是移动的(移动的)。如果有 3 个项目,并且更改为 4 个或更多项目,则将修复此问题。我们可以通过设置底部导航栏 .type
参数来覆盖此行为。
dart prettyprint-override">BottomNavigationBar(
type: BottomNavigationBarType.fixed, // Fixed
backgroundColor: Colors.black, // <-- This works for fixed
selectedItemColor: Colors.greenAccent,
unselectedItemColor: Colors.grey,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.call),
label: 'Call',
),
BottomNavigationBarItem(
icon: Icon(Icons.message),
label: 'Message',
),
],
)
BottomNavigationBar(
type: BottomNavigationBarType.shifting, // Shifting
selectedItemColor: Colors.white,
unselectedItemColor: Colors.grey,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.call),
label: 'Call',
backgroundColor: Colors.blue, // <-- This works for shifting
),
BottomNavigationBarItem(
icon: Icon(Icons.message),
label: 'Message',
backgroundColor: Colors.green, // <-- This works for shifting
),
],
)
没有指定< code>BottomNavigationBar背景颜色的选项,但可以更改< code>canvasColor。在不弄乱整个应用程序的情况下,实现这一点的一个方法是将< code>BottomNavigationBar包装在带有所需< code>canvasColor的< code >主题中。
例子:
bottomNavigationBar: new Theme(
data: Theme.of(context).copyWith(
// sets the background color of the `BottomNavigationBar`
canvasColor: Colors.green,
// sets the active color of the `BottomNavigationBar` if `Brightness` is light
primaryColor: Colors.red,
textTheme: Theme
.of(context)
.textTheme
.copyWith(caption: new TextStyle(color: Colors.yellow))), // sets the inactive color of the `BottomNavigationBar`
child: new BottomNavigationBar(
type: BottomNavigationBarType.fixed,
currentIndex: 0,
items: [
new BottomNavigationBarItem(
icon: new Icon(Icons.add),
title: new Text("Add"),
),
new BottomNavigationBarItem(
icon: new Icon(Icons.delete),
title: new Text("Delete"),
)
],
),
),
希望有所帮助!
我想创建一个单选按钮风格的投票系统使用的图标在Flutter(Dart),看起来像这样:投票图标 这个概念很简单:页面将显示一部电影,然后用户可以使用上面的图标按钮对该电影进行投票。当进行投票时,图标将变为红色,影片将添加到数组中。 我正在纠结的棘手部分是: 更改选定后图标的颜色 确保其他图标保持黑色 如果用户选择了其他选项,则将其他图标更改为黑色 提前道谢!
我来自像angular、react和vue这样的前端webframeworks,我很难找到编写可重用小部件样式的最佳方法。让我用一个例子来演示这个问题。 假设我们有这个小部件: 现在让我们假设我想让属性像、等可以通过参数改变。如果没有传递属性的某个参数,则应该使用其默认值,如下所示:
在这一个章节中我们会提供一些CSS In JS的实践. 如果你还不太明白为什么要CSS In Js, 作者vasan推荐你看一看下面的 talk by Vjeux 相关文章 Patterns for style composition in React Inline style vs stylesheet performance
本文向大家介绍C#中DataGridView的样式,包括了C#中DataGridView的样式的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#中DataGridView的样式。分享给大家供大家参考。具体如下: 1、设置grid交替行颜色 2、单元格内容有效性检查 3、 单元格的选择模式 4、设置合适的列宽 希望本文所述对大家的C#程序设计有所帮助。
我有一个JAVA EE应用程序。部署在Tomcat 7中,其中我有这个JSP,我想将样式应用于页脚以使文本居中,所以我在JSP中定义了要应用于页眉DIV的样式 但是页脚不适用该样式,我看到所有浏览器的文本都向左对齐。L IE、chrome和Firefox
问题内容: 我注意到Bootstrap和Normalize.css在package.json中都有一个“样式”字段。 他们为什么有这个?如果我不得不猜测,那就是允许用户像导入一样容易地导入已定义的样式表,但是事实并非如此。 问题答案: 从Techwraith的pull请求中将其添加到Bootstrap: npm中的许多模块开始在package.json文件中公开其CSS入口文件。这使得工具,如,