Hello I am trying to create a list item in flutter. I have created layout like this but image is not displaying.
Does anyone know whats reason of it ?
import 'package:flutter/material.dart';
class CommonListItem extends StatefulWidget {
#override
State<StatefulWidget> createState() => new _CommonListItemState();
}
class _CommonListItemState extends State<CommonListItem> {
#override
Widget build(BuildContext context) {
return new Scaffold(
body: Container(
child: new Column(
children: <Widget>[
Container(
height: 100.0,
width: 100.0,
child: new Image(image: AssetImage("assets/images/mountains.jpg")),
)
]
),
),
);
}
}
pubspec.yml
name: xx
description: xx
dependencies:
flutter:
sdk: flutter
cloud_firestore: 0.7.4
firebase_auth: 0.5.18
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.io/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.io/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.io/custom-fonts/#from-packages
new Image(image: AssetImage("assets/images/mountains.jpg")),
With the code above make sure you have created the directories (case sensitive!) in the root of the application e.g c:/myapp/assets/images/
Then in your pubspec file you need to un-comment that line pointing to the assets
# To add assets to your application, add an assets section, like this:
assets:
- assets/images/*
You don't have to list every item in the folder, use the asterisk to include all files.
To use images from assets:
Image.asset("assets/images/source.jpg")
Just make sure you also have the asset set up in your pubspec.yaml.
Try to do this in your pubsec.yaml
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
assets:
- assets/
And after that use assets
You introduce wrong url from assets , if your folder is called images your url is : images/mountains.jpg so you nee to change code :
new Image(image: AssetImage("images/mountains.jpg"))
Be careful about tabs in Flutter. have a look at the belowing link.
FlutterError: Unable to load asset
Related
I made a mistake learning the image widget.I browsed dozens of forums and watched videos but it never improved, I will be glad if you help.
The scripts I wrote are as follows:
main.dart
return Center(
child: MaterialApp(
title: 'Flutter Learning',
debugShowCheckedModeBanner: false,
theme: ThemeData().copyWith(
cardTheme: CardTheme(
shape: StadiumBorder(),
),
appBarTheme: AppBarTheme(
centerTitle: true,
backgroundColor: Colors.transparent,
elevation: 0,
foregroundColor: Colors.black,
systemOverlayStyle: SystemUiOverlayStyle.light,
)),
home: ImageWidgetLearn(),
),
);
image_learn.dart
import 'package:flutter/material.dart';
class ImageWidgetLearn extends StatelessWidget {
String appBarTitle = "Image Learn";
#override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(appBarTitle),
bottom: PreferredSize(
child: Container(
color: Colors.black45,
height: 0.5,
),
preferredSize: Size.fromHeight(1.0),
)),
body: Column(
children: [
Text("selam aleyküm"),
Image.asset('assets/images/appleandbook.png')
],
),
);
}
}
pubspec.yaml
name: flutterfulllearn
description: A new Flutter project.
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.17.5 <3.0.0"
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
dev_dependencies:
flutter_test:
sdk: flutter
# The "flutter_lints" package below contains a set of recommended lints to
# encourage good coding practices. The lint set provided by the package is
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
flutter_lints: ^2.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter packages.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
# uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
assets:
- assets\images\appleandbook.png
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
and error message
[error message like this][1]
[1]: https://i.stack.imgur.com/b5ySj.png
In your pubspec.yaml file change the assets path like this
assets/images/appleandbook.png
Change the backslash \ by slash /
It seems you have messed with slashes. Instead of / you should use \. So that the code in your yaml file should look like next
assets:
- assets\images\appleandbook.png
After that, dont forget to recompile your app so that resources are included
I am trying to make an app where in by pressing the flat Button the image should change
This is my Code .Here the image is not able to load .It is throwing some exception despite my
pubspec.yaml file being correct.Can someone help me out.I am trying to use a random function inside my flat button to update my images on pressed.
import 'package:flutter/material.dart';
import 'dart:math';
void main() {
runApp(Magic());
}
class Magic extends StatefulWidget {
const Magic({Key? key}) : super(key: key);
#override
_MagicState createState() => _MagicState();
}
class _MagicState extends State<Magic> {
var i=1;
#override
Widget build(BuildContext context) {
return MaterialApp(
home:Scaffold(
backgroundColor:Colors.blue,
appBar: AppBar(
centerTitle: true,
title:Text( 'Ask Me Anything',
style: TextStyle(
color: Colors.white,
),
),
backgroundColor: Colors.blue[900],
),
body: Container(
child:FlatButton(
onPressed: () {
setState(() {
i = Random().nextInt(5)+1;
});
},
child:Image(
image:AssetImage('images/dice$i.png'),
)
),
),
)
);
}
}
My Pubspec.yaml file
name: magicball
description: A new Flutter project.
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
assets:
- images/ball1.png
- images/ball2.png
- images/ball3.png
- images/ball4.png
- images/ball5.png
- images/dice1.png
- images/dice2.png
- images/dice3.png
- images/dice4.png
- images/dice5.png
- images/dice6.png
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
This is the error
The following assertion was thrown resolving an image codec:
Unable to load asset: images/dice4.png
When the exception was thrown, this was the stack:
#0 PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:224:7)
<asynchronous suspension>
#1 AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:672:14)
<asynchronous suspension>
Image provider: AssetImage(bundle: null, name: "images/dice4.png")
Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#70fe4(), name: "images/dice4.png", scale: 1.0)
====================================================================================================
create an assets folder and put the images folder there.
and change the path to - assets/images/ball1.png. or you can just put the reference of the folder there.
I am trying to load an image but i keep getting this error Exception has occurred.
FlutterError (Unable to load asset: assests/1.png),
this is what have tried so far, the image is located in my assets folder in my root directory
name: wallet_app
description: A new Flutter application.
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cloud_firestore: ^0.14.0
provider: ^3.0.0+1
email_validator: ^1.0.0
bubble_bottom_bar: ^1.2.0
fluttertoast: ^7.0.1
flutter_icons : 1.1.0
flutter_spinkit: "^4.1.2"
firebase_core : ^0.5.0
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
assets:
- assets/1.png
- assets/newdp.png
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
and this is how i implement it
return Container(
margin: EdgeInsets.only(top: 80),
child: Column(
children: <Widget>[
Center(
child: Image.asset(
"assests/1.png",
width: 600.0,
height: 240.0,
fit: BoxFit.cover,
),),
Center( child:Text("Hello tlululuhere"))]));
........................................................................................................................................................................................................
youre getting the wrong path:
Image.asset(
"assests/1.png",
must be :
Image.asset(
"assets/1.png",
So following this tutorial for a simple login UI in Flutter
https://medium.com/better-programming/simple-firebase-login-flow-in-flutter-6f44c2b5c58a
Apparently this package in flutter isn't being imported correctly. The particular lines that are not working are these 3 lines of code
import 'package:provider/provider.dart';
ChangeNotifierProvider<AuthService>( //TODO: authservices and provider pages
future: Provider.of<AuthService>(context).getUser(),
I have been searching a bunch and tried reading the docs and couldn't get any easy answers, but anyway thank you to anyone who gets me the answer to this
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'home_page.dart';
import 'auth.dart';
import 'login_page.dart';
void main() => runApp(
ChangeNotifierProvider<AuthService>( //TODO: authservices and provider pages
child: MyApp(),
builder: (BuildContext context) {
return AuthService();
},
),
);
class MyApp extends StatelessWidget {
// This widget is the root of your application.
#override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(primarySwatch: Colors.blue),
home: FutureBuilder(
future: Provider.of<AuthService>(context).getUser(),
builder: (context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return snapshot.hasData ? HomePage() : LoginPage();
} else {
return Container(color: Colors.white);
}
},
),
);
}
}
the pubspec.yaml file for anyone looking
name: login_flutter_app
description: A new Flutter application.
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
Had to put these into the project
cupertino_icons: ^0.1.2
flutter_blue: ^0.6.3+1
provider: ^4.0.4
Just add dependency provider: ^4.1.1 in pubspec.yaml file. it looks like bellow
dependencies:
flutter:
sdk: flutter
provider: ^4.1.1
I am new to flutter I have gone through the below link to implement share option through my application but that package is not working my flutter version is 0.5.1 and if I add that package in pubspec.yaml I'm getting this error please help me out
name: share
description: A new Flutter project.
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
share: ^0.5.3
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.io/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.io/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.io/custom-fonts/#from-packages
Result::
[share] flutter packages get
Running "flutter packages get" in share...
Error on line 11, column 3 of pubspec.yaml: A package may not list itself as a dependency.
share: ^0.5.3
^^^^^
pub get failed (65)
exit code 65
Here is the link what I refered:
https://pub.dartlang.org/packages/share
PS: Let me know if there is any other way to achieve that.
Add Package in pubspec.yaml
share: ^0.5.3
import 'package:share/share.dart';
void _onShareTap() {
final RenderBox box = context.findRenderObject();
Share.share(share,
sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);
}
pubspec.yaml
dependencies:
share: ^0.5.3
Dart file:
import 'package:share/share.dart';
final RenderBox box = context.findRenderObject();
Share.share(BASE64_IMAGE,sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);
The problem is your package name(first line in pubspec.yaml). It's the same as one of the dependency name: share. Please rename it to something else and try again.