Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 将图像插入容器颤振应用程序_Flutter - Fatal编程技术网

Flutter 将图像插入容器颤振应用程序

Flutter 将图像插入容器颤振应用程序,flutter,Flutter,我正在查看我在startflutter.com上找到的这个模板,完整的代码可以在下面看到 我尝试将自己的图像插入圆圈中,但似乎没有办法将图像完全放入方框中(它总是被裁剪) 我想在容器中插入一个图像,如下所示 @override Widget build(BuildContext context) { final alucard = Container( decoration: new BoxDecoration( image: new D

我正在查看我在startflutter.com上找到的这个模板,完整的代码可以在下面看到

我尝试将自己的图像插入圆圈中,但似乎没有办法将图像完全放入方框中(它总是被裁剪)

我想在容器中插入一个图像,如下所示

     @override
  Widget build(BuildContext context) {
    final alucard = Container(
        decoration: new BoxDecoration(
          image: new DecorationImage(
              image: new AssetImage("images/logo.png"),
              fit: BoxFit.fill,
          )
        )
    );
但这不起作用,也不会出现,这有什么问题吗

这是整页的代码

import 'package:flutter/material.dart';

class HomePage extends StatelessWidget {
  static String tag = 'home-page';

  @override
  Widget build(BuildContext context) {
    final alucard = Hero(
      tag: 'hero',
      child: Padding(
        padding: EdgeInsets.all(16.0),
        child: CircleAvatar(
          radius: 72.0,
          backgroundColor: Colors.transparent,
          backgroundImage: AssetImage('assets/alucard.jpg'),
        ),
      ),
    );

    final welcome = Padding(
      padding: EdgeInsets.all(8.0),
      child: Text(
        'Welcome Alucard',
        style: TextStyle(fontSize: 28.0, color: Colors.white),
      ),
    );

    final lorem = Padding(
      padding: EdgeInsets.all(8.0),
      child: Text(
        'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec hendrerit condimentum mauris id ',
        style: TextStyle(fontSize: 16.0, color: Colors.white),
      ),
    );

    final body = Container(
      width: MediaQuery.of(context).size.width,
      padding: EdgeInsets.all(28.0),
      decoration: BoxDecoration(
        gradient: LinearGradient(colors: [
          Colors.blue,
          Colors.lightBlueAccent,
        ]),
      ),
      child: Column(
        children: <Widget>[alucard, welcome, lorem],
      ),
    );

    return Scaffold(
      body: body,
    );
  }
}
导入“包装:颤振/材料.省道”;
类主页扩展了无状态小部件{
静态字符串标记='主页';
@凌驾
小部件构建(构建上下文){
最后一张卡片=英雄(
标签:“英雄”,
孩子:填充(
填充:所有边缘设置(16.0),
孩子:圆环星(
半径:72.0,
背景颜色:颜色。透明,
背景图片:AssetImage('assets/alucard.jpg'),
),
),
);
最终欢迎=填充(
填充:边缘设置。全部(8.0),
子:文本(
“欢迎卡”,
样式:TextStyle(字体大小:28.0,颜色:Colors.white),
),
);
最终lorem=填充(
填充:边缘设置。全部(8.0),
子:文本(
“Lorem ipsum dolor sit amet,献祭精英。Donec hendrerit调味品mauris id”,
样式:TextStyle(fontSize:16.0,颜色:Colors.white),
),
);
最终主体=容器(
宽度:MediaQuery.of(context).size.width,
填充:所有边缘设置(28.0),
装饰:盒子装饰(
渐变:线性渐变(颜色:[
颜色,蓝色,
颜色。浅蓝色口音,
]),
),
子:列(
孩子们:[阿鲁卡,欢迎,洛伦],
),
);
返回脚手架(
身体:身体,,
);
}
}

传递
BoxFit。将
填充到您的
图像中。资产应该可以

试试这个

import 'package:flutter/material.dart';

class HomePage extends StatelessWidget {
  static String tag = 'home-page';

  @override
  Widget build(BuildContext context) {
    final alucard = Hero(
      tag: 'hero',
      child: Padding(
        padding: EdgeInsets.all(16.0),
        child: new Container(
          height: 80.0,
          width: 80.0,
          decoration: new BoxDecoration(
            image: DecorationImage(
              image: new AssetImage(
                  'assets/alucard.jpg'),
              fit: BoxFit.fill,
            ),
            borderRadius:
            BorderRadius.circular(80.0),
          ),
        ),
      ),
    );

    final welcome = Padding(
      padding: EdgeInsets.all(8.0),
      child: Text(
        'Welcome Alucard',
        style: TextStyle(fontSize: 28.0, color: Colors.white),
      ),
    );

    final lorem = Padding(
      padding: EdgeInsets.all(8.0),
      child: Text(
        'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec hendrerit condimentum mauris id ',
        style: TextStyle(fontSize: 16.0, color: Colors.white),
      ),
    );

    final body = Container(
      width: MediaQuery.of(context).size.width,
      padding: EdgeInsets.all(28.0),
      decoration: BoxDecoration(
        gradient: LinearGradient(colors: [
          Colors.blue,
          Colors.lightBlueAccent,
        ]),
      ),
      child: Column(
        children: <Widget>[alucard, welcome, lorem],
      ),
    );

    return Scaffold(
      body: body,
    );
  }
}
导入“包装:颤振/材料.省道”;
类主页扩展了无状态小部件{
静态字符串标记='主页';
@凌驾
小部件构建(构建上下文){
最后一张卡片=英雄(
标签:“英雄”,
孩子:填充(
填充:所有边缘设置(16.0),
子容器:新容器(
身高:80.0,
宽度:80.0,
装饰:新盒子装饰(
图像:装饰图像(
图片:新资产时代(
“assets/alucard.jpg”),
fit:BoxFit.fill,
),
边界半径:
边界半径。圆形(80.0),
),
),
),
);
最终欢迎=填充(
填充:边缘设置。全部(8.0),
子:文本(
“欢迎卡”,
样式:TextStyle(字体大小:28.0,颜色:Colors.white),
),
);
最终lorem=填充(
填充:边缘设置。全部(8.0),
子:文本(
“Lorem ipsum dolor sit amet,献祭精英。Donec hendrerit调味品mauris id”,
样式:TextStyle(fontSize:16.0,颜色:Colors.white),
),
);
最终主体=容器(
宽度:MediaQuery.of(context).size.width,
填充:所有边缘设置(28.0),
装饰:盒子装饰(
渐变:线性渐变(颜色:[
颜色,蓝色,
颜色。浅蓝色口音,
]),
),
子:列(
孩子们:[阿鲁卡,欢迎,洛伦],
),
);
返回脚手架(
身体:身体,,
);
}
}

使用此选项更改容器会很好

Container(
      height: 120.0,
      width: 120.0,
      decoration: BoxDecoration(
        image: DecorationImage(
          image: AssetImage(
              'assets/assets/alucard.jpg'),
          fit: BoxFit.fill,
        ),
        shape: BoxShape.circle,
      ),
    )
试试这个

new Container(
  width: 100.00,
  height: 100.00,
  decoration: new BoxDecoration(
  image: new DecorationImage(
      image: ExactAssetImage('assets/example.png'),
      fit: BoxFit.fitHeight,
      ),
  ));

确保通过编辑pubspec.yaml文件告诉flifter您的资产文件夹在哪里

可以将图像添加到容器中- [您的\u图像\u文件夹\u路径/图像\u名称]

Container(
    child:  Image(image: AssetImage("images/logo.png")))
请试试这个:

Container(
    height: _height*0.35,
    width: _width,
    decoration: BoxDecoration(
        image: DecorationImage(
            image: ExactAssetImage('assets/splash_img.jpeg'),
            fit: BoxFit.fitHeight,
        ),
    ),
),

增大圆电视的半径会有助于你的事业吗?我试着让它保持图像的相同裁剪。你能再描述一下你想要的和你实际看到的吗?也许还可以共享您正在使用的图像我正在尝试做的就是在“final welcome”和“final lorem”中的文本上方插入完整图像……图像将显示在“CircleAvatar”类中,但当我尝试使用容器时,它将根本不显示任何内容,并且没有占位符空间。我试着用一堆不同的图片来展示它,但它不会。。。我不认为这与图像有关我得到一个错误,说。。。。参数类型“Image”无法分配给参数类型“ImageProvider”,我无法在backgroundImageMy bad中使用Image.asset。现在编辑。检查,这对你有用吗?因为我有你在我的问题中写的减去填充和边界半径。当我运行你编写的那段代码时,我仍然遇到同样的问题。它不会显示图像,也不会在图像需要高度和宽度的
容器的位置留下占位符。请按照@AlbertLardizabal的建议设置
容器的高度和宽度。我还编辑了我的答案,设置了容器的高度和宽度。如何在颤振中使小图像适合大容器?请建议。谢谢
Container(
    height: _height*0.35,
    width: _width,
    decoration: BoxDecoration(
        image: DecorationImage(
            image: ExactAssetImage('assets/splash_img.jpeg'),
            fit: BoxFit.fitHeight,
        ),
    ),
),