質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

解決済

2回答

1899閲覧

Dart/Flutterにてsvgが読み込めません

neoz

総合スコア31

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2020/09/17 12:19

assetフォルダからsvgを読み込もうとしています。

正常に動作する作例からコードを引用しているため全体の構造に問題はないはずなのですが

・yamlにassets/svgフォルダを追加済み
・assetsフォルダのパスは正しく指定済み

にも関わらず、Unable to load assetsと言われるのはどのようにすれば解消できるでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

satokei

2020/09/17 13:06

SVGの表示には、以下のパッケージを使用しているのでしょうか? https://pub.dev/packages/flutter_svg 情報が少なすぎますので、質問を改善してください。
neoz

2020/09/17 13:21

はい、そちらのパッケージを利用しています。
satokei

2020/09/17 15:58

> はい、そちらのパッケージを利用しています。 質問を編集して改善してください。 後からたどり着いた人が分かりにくくなります。 そのようなことがあるかわからないですが、対応していないSVGの可能性はないでしょうか? サンプルにあるSVGで表示できるか確認してみてください。 https://github.com/dnfield/flutter_svg/tree/master/example/assets > assetsフォルダのパスは正しく指定済み そもそも本当に正しいのでしょうか?
neoz

2020/09/17 16:11

svgファイルは作例ファイルから表示を確認していました。 そこに疑義を言われますと、パスが正しいかどうか、ファイル構成すべて含めて投稿しなければならないことになってしまいまして。。 今回、正しく動作する作例からまずはそのまま持ってきているので、質問に記載した前提条件のみで、他に推察される瑕疵がないかを確認させて頂きたかった次第です。
guest

回答2

0

1.flutter cleanしてみる。

2.yamlを正しく記述する。(assetsの前はスペース2つ、パスの前はスペース4つ)

flutter: assets: - images/pizza1.png - images/pizza0.png

3.それでもだめなら、フォルダ構成と、yaml、パスの指定部分を追記してください。

投稿2020/09/18 00:19

tepci

総合スコア419

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

neoz

2020/09/18 06:33

flutter cleanは効きませんでした。。 フォルダ構成は project | ーassets  |  |ーsvg  |  |  |   ーhome.svg  |   ーphoto.svg  ーlib   |  |ーnav.dart で、パスは../assets/svg/home.svgで指定しています。 yamlはフォルダのみで動くはずですが、動作している作例通り flutter: - assets/ - assets/svg/ としています。 エラーは以下のとおりです。 ══╡ EXCEPTION CAUGHT BY SVG ╞═══════════════════════════════════════════════════════════════════════ The following assertion was thrown resolving a single-frame picture stream: Unable to load asset: ../assets/svg/home.svg (中略) Picture provider: ExactAssetPicture(name: "../assets/svg/home.svg", bundle: null, colorFilter: null) Picture key: AssetBundlePictureKey(bundle: PlatformAssetBundle#c5581(), name: "../assets/svg/home.svg", colorFilter: null) ════════════════════════════════════════════════════════════════════════════════════════════════════
neoz

2020/09/18 06:34

フォルダ構成がわかりづらいですが、assetsとlibは同階層です。
guest

0

自己解決

nav.dartからひとつ上の階層にあるassets内を参照しているため、../assets/svgと指定していましたが、なぜか同階層指定でパスが通りました。。

投稿2020/09/18 06:46

neoz

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tepci

2020/09/18 07:14

Flutterの仕様ですね。わかり辛いですよね。 パスの記述ミスをなくすために画像をウィジェット化してくれるパッケージもあるので、今後つかってみるといいと思います。 https://pub.dev/packages/flutter_gen
neoz

2020/09/18 12:00

ご親切にありがとうございます、試してみます! はい、わかりづらかったです。。機転を効かせてもっと早く試してみればよかったのですが、知識は当然としてそのあたりの試行錯誤力ももっと鍛えようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問