SliverAppBar一般用于CustomScrollView中,有些时候想自定义如下:
class CommonSliverAppBarWidget extends StatelessWidget {
const CommonSliverAppBarWidget({this.title = '', this.onPressed});
final Function onPressed;
final String title;
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.only(top:MediaQuery.of(context).padding.top + 10), //这里高度一定上动态的MediaQuery.of(context).padding.top 适配不同屏幕,否则无法兼容
width: Utils.width,
child: Stack(
children: <Widget>[
Align(
alignment: Alignment.topLeft,
child: InkResponse(
child: Container(
padding: EdgeInsets.only(left: 14),
child: Icon(
Icons.arrow_back,
color: appWhite,
),
),
onTap: () {
if (onPressed != null) {
onPressed();
}else {
Navigator.of(context).pop();
}
},
)),
Align(
alignment: Alignment.center,
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 1),
child: Text(
title ?? "",
style: TextStyle(
color: appWhite,
fontSize: 18,
fontWeight: fontWeightSemibold,
decoration: TextDecoration.none),
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
),
),
],
),
);
}
}