0

我是flutter-dart的新手,我一直在尝试将图像加载到我的draw header中,但到目前为止没有成功。任何人都可以对此有所了解吗?请在下面找到我的代码。

class MainDrawer extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Drawer(
      child: ListView(
        padding: EdgeInsets.zero,
        children: <Widget>[
          DrawerHeader(
            decoration: BoxDecoration(
                //color: Theme.of(context).backgroundColor,
                image: DecorationImage(
              image: AssetImage('assets/images/title_fb_600.png'),
              fit: BoxFit.cover,
            )),
            child: Text("Some Text"),
            //ListTile(
            // leading: Icon(Icons.monetization_on),
            // title: Text(
            // "TRIPLE A",
            // style: TextStyle(color: Colors.white, fontSize: 20),
            //  ),
          ),
          ItemDrawer("Carteira Recomendada", Icons.star, 16),
          ItemDrawer("Carteira R\$10", Icons.ten_k, 16),
          ItemDrawer("Minha Carteira", Icons.favorite, 16),
          ItemDrawer("Notícias", Icons.new_releases, 16),
          ItemDrawer("Minha Conta", Icons.account_circle, 16),
          ItemDrawer("Configurações", Icons.settings, 16),
        ],
      ),
    );
  }
}

我的 pubspec.yaml....

> flutter:
> 
uses-material-design: true
> 
assets:
>     - assets/images/title3a_fb_600.png

和文件夹结构...

文件夹结构

4

1 回答 1

0

您的 pubspec 文件看起来不错。我假设您只想将此单个图像作为资产包含在内。

尝试使用此包,并在此处将DrawerHeader类替换为ProgressiveImage组件。 https://pub.dev/packages/progressive_image

此包可帮助您缓存图像,以防止再次重新加载它,它还在加载此资产时添加了模糊动画。

如果您需要对抽屉标题进行分层(并添加其他信息,例如头像图标或电子邮件信息),您可以将此组件添加到Stack集合中,然后确保ProgressiveImageStack中的第一个

如果您还需要为抽屉标题设置自定义高度,请确保使用容器包装此堆栈并手动设置此元素的高度

于 2021-02-01T04:05:24.327 回答