Cod*_*dhu 6 android dart flutter flutter-theme
我在flutter中创建了一个简单的登录UI,但我不知道如何使应用程序的整体主题变得黑暗。我的意思是,将来,如果我向应用程序添加更多功能,它应该都在黑暗主题中。有没有办法做到这一点?
我使用了一个单独的 dart 文件 (login.dart),我的登录 UI 中使用的所有小部件都在这个文件中。我已在主 dart 文件 (main.dart) 中将 ThemeData 设置为深色,但该应用程序仍在以浅色主题运行。
这是我的代码:
main.dart
import 'package:flutter/material.dart';
import 'package:bidder_login/login.dart';
void main(){
runApp(
MaterialApp(
theme: ThemeData(),
darkTheme: ThemeData.dark(),
debugShowCheckedModeBanner: false,
title: "Basic Login Demo",
home: LoginPage(),
),
);
}
Run Code Online (Sandbox Code Playgroud)
登录.dart
import 'package:flutter/material.dart';
class LoginPage extends StatefulWidget {
@override
_LoginPageState createState() => _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: ListView(
padding: EdgeInsets.symmetric(horizontal: 24.0),
children: <Widget>[
SizedBox(height: 80.0),
// Column(
// children: <Widget>[
// Image.asset('assets/login_app.png'),
// SizedBox(height: 25.0),
// Text("Material Login"),
// ],
// ),
//*Username starts here
SizedBox(height: 120.0),
TextField(
decoration: InputDecoration(
labelText: 'Username',
filled: true,
),
),
//*Password starts here
SizedBox(height: 12.0),
TextField(
decoration: InputDecoration(
labelText: 'Password',
filled: true,
),
obscureText: true,
),
ButtonBar(
children: <Widget>[
FlatButton(
child: Text('Cancel'),
onPressed: () {
},
),
RaisedButton(
child: Text('Next'),
onPressed: () {
},
)
],
)
],
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
Nil*_*hod 15
你需要使用 ThemeMode
theme将由MaterialApp.示例代码
themeMode: ThemeMode.dark,//Always use the dark mode (if available) regardless of system preference.
themeMode: ThemeMode.light,//Always use the light mode regardless of system preference.
themeMode: ThemeMode.system,//Use either the light or dark theme based on what the user has selected in the system settings.
themeMode: ThemeMode.values,//A constant List of the values in this enum, in order of their declaration.
Run Code Online (Sandbox Code Playgroud)
如何使用
ThemeMode在MaterialApp
MaterialApp(
debugShowCheckedModeBanner: false,
theme:
ThemeData(primarySwatch: Colors.blue, brightness: Brightness.light),
themeMode: ThemeMode.dark,
darkTheme: ThemeData(brightness: Brightness.dark),
home: SafeArea(
child:Scaffold(
) ),
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8374 次 |
| 最近记录: |