答案 0 :(得分:0)
我不相信您可以将渐变传递给 AppBar,因为它需要颜色而不是渐变。
但是,您可以创建自己的模拟 AppBar 的小部件,除非使用渐变。 看看我从 Planets-Flutter tutorial 及其下面的代码拼凑起来的这个例子。
import "package:flutter/material.dart";
class Page extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(children : <Widget>[GradientAppBar("Custom Gradient App Bar"), Container()],);
}
}
class GradientAppBar extends StatelessWidget {
final String title;
final double barHeight = 50.0;
GradientAppBar(this.title);
@override
Widget build(BuildContext context) {
final double statusbarHeight = MediaQuery
.of(context)
.padding
.top;
return new Container(
padding: EdgeInsets.only(top: statusbarHeight),
height: statusbarHeight + barHeight,
child: Center(
child: Text(
title,
style: TextStyle(fontSize: 20.0, color: Colors.white, fontWeight: FontWeight.bold),
),
),
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Colors.red, Colors.blue],
begin: const FractionalOffset(0.0, 0.0),
end: const FractionalOffset(0.5, 0.0),
stops: [0.0, 1.0],
tileMode: TileMode.clamp
),
),
);
}
}
希望这会有所帮助。如果您有任何问题,请告诉我。
答案 1 :(得分:0)
最后,我做了一个名为 header
的组件,并放了 2 个按钮和一个文本来获得效果