我有一个AppBar,其中仅包含一个动作,即一个图标。我在图标周围放了一些填充,现在有一些溢出,因此图标被剪切了。
这是我的代码:
appBar: PreferredSize(
preferredSize: Size.fromHeight(100.0),
child: AppBar(
backgroundColor: Theme.of(context).backgroundColor,
elevation: 10,
actions: <Widget>[
Container(),
Padding(
padding: EdgeInsets.only(right: 25, top: 40),
child: SizedBox(
child: Icon(
Icons.settings,
color: HexColor('#FF4848'),
size: 30,
),
),
)
],
),
答案 0 :(得分:1)
那是因为您使用PreferredSize。现在,您必须使用flexibleSpace放置小部件,
PreferredSize(
preferredSize: Size.fromHeight(100.0),
child: AppBar(
backgroundColor: Theme.of(context).backgroundColor,
elevation: 10,
flexibleSpace: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Padding(
padding: EdgeInsets.only(right: 25, top: 80),
child: SizedBox(
child: Icon(
Icons.settings,
color: Colors.red,
size: 30,
),
),
),
],
)));
答案 1 :(得分:0)
我使用appBar底部
return new Scaffold(
appBar: PreferredSize(
preferredSize: Size.fromHeight(100.0) ,
child: AppBar(
backgroundColor: Theme.of(context).backgroundColor,
elevation: 10,
bottom: PreferredSize(
preferredSize: const Size.fromHeight(100.0),
child: Theme(
data: Theme.of(context).copyWith(accentColor: Colors.white),
child: Container(
height: 100.0,
alignment: Alignment.centerRight ,
child: Padding(
padding: EdgeInsets.only(right: 25, top: 40),
child: SizedBox(
child: Icon(
Icons.settings,
color: Colors.red,
size: 30,
),
),
),
),
),
),
),
),
body: new Text('hello world'),
);