夜间模式设置
夜间模式的设置是通过主题当中的brightness属性来设置的
- Brightness.dark 夜间模式
- Brightness.light 白天模式
bool _isLight = true;//判断是否是夜间模式 true白天 false夜间
theme: new ThemeData(
fontFamily: "MaoTi", //设置全局字体
brightness:
_isLight == true ? Brightness.light : Brightness.dark //判断 夜间/白天模式
),
然后在按钮中设置判断Ink(),InkResponse() 组件下一章会进行详细的介绍
Padding(
padding: EdgeInsets.only(top: 20),
child: Ink(
decoration: BoxDecoration(
borderRadius: new BorderRadius.circular(25),
border: Border.all(color: Colors.black, width: 2),
),
child: InkResponse(
borderRadius: BorderRadius.circular(25),
splashColor: Colors.tealAccent,
radius: 300,
// ----√----
containedInkWell: true,
// ----√----
highlightShape: BoxShape.rectangle,
// ----√----
child: Container(
width: 200,
height: 50,
alignment: Alignment.center,
child: Text("切换主题"),
),
onTap: () {
setState(() {
//这里进行判断赋值
_isLight == true ? _isLight = false : _isLight = true;
});
},
),
),
)
来看看效果吧,正好提前看看下一章Ink(),InkResponse() 的效果哈哈哈
字体设置
点击右键下载即可;
创建fonts文件夹,存放字体库
在pubspec.yaml最下方中声明字体,注意格式!
fonts:
- family: MaoTi # 字体别名
fonts:
- asset: fonts/maoti.ttf # 字体文件目录
weight: 700 # 权重 700表示粗体,相当于bold
- family: iconfont # 字体别名
fonts:
- asset: fonts/iconfont.ttf # 字体文件目录
weight: 700 # 权重 700表示粗体,相当于bold
然后点击Pub get编译字体
全局使用:
通过主题(theme)中fontFamily属性设置全局字体
theme: new ThemeData(
fontFamily: "MaoTi", //设置全局字体
brightness:
_isLight == true ? Brightness.light : Brightness.dark //判断 夜间/白天模式
),
这里字体的MaoTi就是引用的pubspec.yaml中声明的别名
个别使用:
Text(
"我是测试Text的",
style: TextStyle(fontFamily: "MaoTi"),
),
Text(
"切换主题",
//通过TextStyle中的fontFamily属性设置字体
style: TextStyle(fontFamily: "iconfont"),
),
来看看效果图吧:
这里同时也设置了全局变为毛体
通过效果图可以发现
- 我是测试Text的已经变为了毛体
- 切换主题则是默认字体
下一章:Flutter Ink,InkWell,InkResponse水波纹实现2.3
您的点赞就是对我最大的支持,留下您的点赞吧~