flutter - Flutter AppBar 上的渐变背景

如何将AppBar的backgroundColor设置为渐变色?

最佳答案

我不相信您可以将渐变传递给 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
        ),
      ),
    );
  }
}

希望这会有所帮助。如果您有任何问题,请告诉我。

https://stackoverflow.com/questions/50412484/

相关文章:

dart - 在 Flutter 中将焦点滑动到 TextField

flutter - 无效参数 : Illegal argument in isolate messa

image - 如何使用 Flutter 将 BASE64 字符串转换为 Image?

flutter - 小部件间通信

flutter - 导航后打开 flutter 对话框

ios - Flutter - SWIFT_VERSION 必须设置为支持的值

flutter - Flutter 的垂直文本小部件

android-studio - 如何找到 Flutter SDK 的路径

Flutter - 自定义字体不显示

android - Flutter - setState 不更新内部有状态小部件