java怎么设置主题,如何为屏幕设置不同的主题?

我创建了Friendly Chat app并希望添加一个具有不同主题的新屏幕,但它不起作用:-(

整个应用程序有一个 Brightness.dark 主题:

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {

// This widget is the root of your application.

@override

Widget build(BuildContext context) {

print("build MaterialApp");

return new MaterialApp(

title: 'Friendly Chat',

theme: kTheme,

home: new ChatScreen(),

routes: {

SettingsScreen.PATH: (BuildContext context) => new SettingsScreen()

},

);

}

}

final ThemeData kTheme = new ThemeData(

primarySwatch: Colors.indigo,

primaryColor: Colors.indigoAccent[100],

primaryColorBrightness: Brightness.dark,

);

当用户单击按钮时,我按下设置屏幕:

Map results = await Navigator.of(context).pushNamed(SettingsScreen.PATH);

在设置屏幕中,我更改 AppBar 的 backgroundColor 和 brightness 但新的/不同的 brightness 无效(更改 backgroundColor 工作)

class SettingsScreen extends StatefulWidget {

@override

State createState() => new SettingsScreenState();

}

class SettingsScreenState extends State {

@override

Widget build(BuildContext context) {

return new WillPopScope(

onWillPop: _onWillPop,

child: new Scaffold(

appBar: new AppBar(

title: new Text("Settings"),

backgroundColor: Colors.amberAccent[700],

brightness: Brightness.light,

),

),

);

}

}

如何将设置屏幕AppBar主题更改为轻量级主题?

EDIT

最后我想要:

所有屏幕都有一个黑色的AppBar背景色,带有白色 Headers 和图标

设置屏幕(仅)具有浅色的AppBar背景颜色,带有黑色 Headers 和图标

Bonus points: 如何为整个屏幕设置不同的主题,而不仅仅是AppBar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值