简介
IconThemeData为图标提供属性,必须是Icon的父级
- 图标主题Icon和ImageIcon的依赖,获取当前主题,是用IconTheme.of
基本用法
- 部分widget无法管理大小,IconThemeData的size属性失效。
- 通过opacity属性,修改widget透明度,如下图
实例演示
import 'package:flutter/material.dart';
class IconThemeDemo extends StatelessWidget {
final Color curColor;
final double curOpacity;
IconThemeDemo({Key key, this.curColor, this.curOpacity}) : super();
@override
Widget build(BuildContext context) {
return Container(
child: IconTheme(
//opacity: 设置透明
data: IconThemeData(
color: curColor,
opacity: curOpacity,
),
child: Icon(Icons.favorite),
),
);
}
}
class IconThemeDemo2 extends StatelessWidget {
final Color curColor;
final double curSize;
IconThemeDemo2({Key key, this.curColor, this.curSize}) : super();
@override
Widget build(BuildContext context) {
return AppBar(
actions: <Widget>[
IconTheme(
data: IconThemeData(color: curColor, opacity: 1.0),
child: Row(
children: <Widget>[
Icon(Icons.favorite_border),
Padding(
padding: const EdgeInsets.all(20.0),
child: Text('喜欢'),
),
],
)),
],
);
}
}