我是第一次开发Flutter应用程序..我在添加图像时遇到了问题 . 我有以下问题:
-
在哪里创建图片文件夹?
-
在pubspec.ymal中添加资产标签的位置?
-
这需要资产文件夹吗?
What I tried :
assets:
- images/lake.jpg
在pubspec.ymal里面:
完整档案:
name: my_flutter_app
description: A new Flutter application.
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true,
assets:
- images/lake.jpg
Error log :
#/properties/flutter/properties/uses-material-design: type: wanted [boolean] got true,
Error detected in pubspec.yaml:
Error building assets
FAILURE: Build failed with an exception.
* Where:
Script '/home/abc/Downloads/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 435
* What went wrong:
Execution failed for task ':app:flutterBuildDebug'.
> Process 'command '/home/abc/Downloads/flutter/bin/flutter'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
Finished with error: Gradle build failed: 1
My main.dart code :
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/material.dart';
// Uncomment lines 7 and 10 to view the visual layout at runtime.
//import 'package:flutter/rendering.dart' show debugPaintSizeEnabled;
void main() {
//debugPaintSizeEnabled = true;
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
Widget titleSection = new Container(
padding: const EdgeInsets.all(32.0),
child: new Row(
children: [
new Expanded(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
new Container(
padding: const EdgeInsets.only(bottom: 8.0),
child: new Text(
'Oeschinen Lake Campground',
style: new TextStyle(
fontWeight: FontWeight.bold,
),
),
),
new Text(
'Kandersteg, Switzerland',
style: new TextStyle(
color: Colors.grey[500],
),
),
],
),
),
new Icon(
Icons.star,
color: Colors.red[500],
),
new Text('41'),
],
),
);
Column buildButtonColumn(IconData icon, String label) {
Color color = Theme.of(context).primaryColor;
return new Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
new Icon(icon, color: color),
new Container(
margin: const EdgeInsets.only(top: 8.0),
child: new Text(
label,
style: new TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.w400,
color: color,
),
),
),
],
);
}
Widget buttonSection = new Container(
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
buildButtonColumn(Icons.call, 'CALL'),
buildButtonColumn(Icons.near_me, 'ROUTE'),
buildButtonColumn(Icons.share, 'SHARE'),
],
),
);
Widget textSection = new Container(
padding: const EdgeInsets.all(32.0),
child: new Text(
'''
Lake Oeschinen lies at the foot of the Blüemlisalp in the Bernese Alps. Situated 1,578 meters above sea level, it is one of the larger Alpine Lakes. A gondola ride from Kandersteg, followed by a half-hour walk through pastures and pine forest, leads you to the lake, which warms to 20 degrees Celsius in the summer. Activities enjoyed here include rowing, and riding the summer toboggan run.
''',
softWrap: true,
),
);
return new MaterialApp(
title: 'Flutter Demo',
home: new Scaffold(
appBar: new AppBar(
title: new Text('Top Lakes'),
),
body: new ListView(
children: [
new Image.asset(
'images/lake.jpg',
width: 600.0,
height: 240.0,
fit: BoxFit.cover,
),
titleSection,
buttonSection,
textSection,
],
),
),
);
}
}
我指的是这个教程 https://flutter.io/tutorials/layout/
另外我想问一下,有什么工具可以在颤动中进行干净的重建,因为我找不到任何选择 .
任何帮助,将不胜感激 .
谢谢 !
3 回答
我认为错误是由多余的
,
引起的我还建议在包含
pubspec.yaml
文件的目录中创建一个assets
文件夹,并在那里移动images
并使用如果将资产放在其他位置,
assets
目录将获得一些额外的IDE支持 .问题出在你的
pubspec.yaml
这里你需要删除最后一个逗号如何在您的应用中包含图片
对于未来的 Spectator 来说,这是一个更普遍的答案 .
1.创建资产/图像文件夹
这应该位于项目的根目录中,与
pubspec.yaml
文件位于同一文件夹中 .在Android Studio中,您可以在项目视图中右键单击
您不必将其称为
assets
或images
. 你甚至不需要制作images
子文件夹 . 但是,无论您使用什么名称,都将在pubspec.yaml
文件中重复使用 .2.将图像添加到新文件夹
assets/images
即可 . 例如,lake.png
的相对路径为assets/images/lake.png
.3.在pubspec.yaml中注册assets文件夹
打开项目根目录中的
pubspec.yaml
文件 .将
assets
小节添加到flutter
部分,如下所示:/
):4.在代码中使用图像
使用
Image.asset('assets/images/lake.jpg')
获取图像窗口小部件中的资源 .整个
main.dart
文件在这里:进一步阅读