flightapp's Issues
incorrect youtube video link for part 4
the link for part4 is same as for part 3
this is the correct url http://www.youtube.com/watch?v=Ogz7w1JW2ZI
Path Clip not working in android
locations.clear();
In main.dart you can add "locations.clear();"
addLocations(BuildContext context, List snapshots) {
locations.clear();
for (int i = 0; i < snapshots.length; i++) {
final Location location = Location.fromSnapshot(snapshots[i]);
locations.add(location.name);
}
}
No issues.
Hi! Techie Blossom.
I'm a fan of all your videos on YouTube.
Great work guy and I dream of becoming a great developer like you. I would like you to make again a video on the application 'flightapp' to show how to implement the package flutter_bloc, if possible the package frideos. I know you already did it with only Rxdart. To make also a new video for the login with username and password, with a Google account and with a Facebook account, by implementing the block pattern with the flutter_bloc and frideos packages. Also you made a video promise at the end of the second video on the football players app. Please, deign to show how to make the filter according to the players and their country of origin. Thank you very much and I hope you will accept my requests. This is the way I found to write to you. Stéphane. [email protected]. Have a great day.
Rendering widgets
`import 'package:flutter/material.dart';
import 'CustomAppBar.dart';
import 'CustomShapeClipper.dart';
import 'package:intl/intl.dart';
void main() => runApp(MaterialApp(
title: 'Eventik',
debugShowCheckedModeBanner: true,
home: HomeScreen(),
theme: appTheme,
));
//Colors for the clip-path gradient
Color firstColor = Color(0xFF00FFFF);
Color secondColor = Color(0xFF00D5FF);
//Define a theme
ThemeData appTheme =
ThemeData(primaryColor: Color(0xFFF3791A), fontFamily: 'Oxygen');
//Definition of a list
List locations = ['Mulungushi (MU)', 'UNZA', 'CBU'];
//DropDown Const style
const TextStyle dropdownTextStyle =
TextStyle(color: Colors.black, fontSize: 16.0);
const TextStyle dropdownMenuItemTextStyle =
TextStyle(color: Colors.black, fontSize: 16.0);
//number format
final formatCurrency = NumberFormat.simpleCurrency();
class HomeScreen extends StatelessWidget {
@OverRide
Widget build(BuildContext context) {
// TODO: implement build
return
Scaffold(
bottomNavigationBar: CustomAppBar(),
body: Column(
children: [
HomeScreenTopPart(),
homeScreenBottomPart,
],
),
);
}
}
class HomeScreenTopPart extends StatefulWidget {
@OverRide
_HomeScreenTopPart createState() => _HomeScreenTopPart();
}
class _HomeScreenTopPart extends State {
//Variable for selected location
var selectedLocationIndex = 0;
var isInCampusSelected = true;
@OverRide
Widget build(BuildContext context) {
// TODO: implement build
return Stack(
children: [
ClipPath(
clipper: CustomShapeClipper(),
child: Container(
height: 400.0,
decoration: BoxDecoration(
gradient: LinearGradient(colors: [firstColor, secondColor])),
child: Column(
children: [
SizedBox(
height: 50.0,
),
Padding(
padding: EdgeInsets.all(16.0),
child: Row(
children: [
Icon(
Icons.location_on,
color: Colors.white,
),
SizedBox(
width: 16.0,
),
PopupMenuButton(
onSelected: (index) {
selectedLocationIndex = index;
print(locations[selectedLocationIndex]);
},
child: Row(
children: [
Text(
locations[selectedLocationIndex],
style: dropdownTextStyle,
),
Icon(
Icons.keyboard_arrow_down,
color: Colors.white,
),
],
),
itemBuilder: (BuildContext context) =>
<PopupMenuItem>[
PopupMenuItem(
child: Text(
locations[0],
style: dropdownMenuItemTextStyle,
),
value: 0,
),
PopupMenuItem(
child: Text(
locations[1],
style: dropdownMenuItemTextStyle,
),
value: 1,
),
PopupMenuItem(
child: Text(
locations[2],
style: dropdownMenuItemTextStyle,
),
value: 2,
),
],
),
Spacer(),
Icon(
Icons.settings,
color: Colors.white,
),
],
),
),
SizedBox(
height: 40.0,
),
Text(
'Events you can attend',
style: TextStyle(fontSize: 24.0, color: Colors.white),
textAlign: TextAlign.center,
),
SizedBox(
height: 25.0,
),
Padding(
padding: EdgeInsets.all(31.0),
child: Material(
elevation: 5.0,
borderRadius: BorderRadius.all(Radius.circular(30.0)),
child: TextField(
controller: TextEditingController(text: locations[0]),
style: dropdownMenuItemTextStyle,
cursorColor: appTheme.primaryColor,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
horizontal: 20.0, vertical: 15.0),
suffixIcon: Material(
elevation: 2.0,
borderRadius:
BorderRadius.all(Radius.circular(30.0)),
child: Icon(
Icons.search,
color: Colors.black,
),
),
border: InputBorder.none,
),
),
),
),
SizedBox(
height: 3.0,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
mainAxisSize: MainAxisSize.min,
children: [
InkWell(
child: ChoiceChip(
Icons.schedule, "In-Campus", isInCampusSelected),
onTap: () {
setState(() {
isInCampusSelected = true;
});
},
),
SizedBox(
width: 20.0,
),
InkWell(
child: ChoiceChip(
Icons.school, "Off-Campus", !isInCampusSelected),
onTap: () {
setState(() {
isInCampusSelected = false;
});
},
),
],
)
],
)),
),
],
);
}
}
class ChoiceChip extends StatefulWidget {
//Defining variables for choice chips
final IconData iconData;
final String text;
final bool isSelected;
ChoiceChip(this.iconData, this.text, this.isSelected);
@OverRide
_ChoiceChipState createState() => _ChoiceChipState();
}
class _ChoiceChipState extends State {
@OverRide
Widget build(BuildContext context) {
// TODO: implement build
return Container(
padding: EdgeInsets.symmetric(horizontal: 5.0, vertical: 5.0),
decoration: widget.isSelected
? BoxDecoration(
color: Colors.black.withOpacity(0.15),
borderRadius: BorderRadius.all(Radius.circular(20.0)))
: null,
child: Row(
children: [
Icon(widget.iconData),
SizedBox(
width: 8.0,
),
Text(
widget.text,
style: TextStyle(color: Colors.black, fontSize: 15.0),
)
],
),
);
}
}
const TextStyle viewAllTextStyle =
TextStyle(color: Colors.orange, fontSize: 16.0);
var homeScreenBottomPart = Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Text(
'Current Top Events',
style: dropdownMenuItemTextStyle,
),
Spacer(),
Text(
'View all (10)',
style: viewAllTextStyle,
),
],
),
),
Container(
height: 210.0,
child: ListView(
scrollDirection: Axis.horizontal,
children: eventsCard,
),
)
],
);
//create a list for city cards
List eventsCard = [
EventsCard(
"assets/images/MU.jpeg", "Red Carpet", "Sep 2019", "45", "130", "100"),
EventsCard("assets/images/CBU.jpg", "Miss-CBU", "Nov 2019", "35", "230", "200"),
EventsCard("assets/images/athens.jpg", "Hackathon", "Oct 2019", "50", "180", "110"),
];
class EventsCard extends StatelessWidget {
final String imagePath, eventName, monthYear, discount, oldPrice, newPrice;
EventsCard(this.imagePath, this.eventName, this.monthYear, this.discount,
this.oldPrice, this.newPrice);
@OverRide
Widget build(BuildContext context) {
// TODO: implement build
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: Column(
children: [
ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(10.0)),
child: Stack(
children: [
Container(
height: 210.0,
width: 160.0,
child: Image.asset(
imagePath,
fit: BoxFit.cover,
),
),
Positioned(
left: 0.0,
bottom: 0.0,
width: 160.0,
height: 60.0,
child: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.bottomCenter,
end: Alignment.topCenter,
colors: [
Colors.black,
Colors.black.withOpacity(0.1),
])),
),
),
Positioned(
left: 10.0,
bottom: 10.0,
right: 8.0,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.max,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
eventName,
style: TextStyle(
fontWeight: FontWeight.bold,
color: Colors.white,
fontSize: 18.0,
),
),
Text(
monthYear,
style: TextStyle(
fontWeight: FontWeight.normal,
color: Colors.white,
fontSize: 16.0,
),
),
],
),
Container(
padding: EdgeInsets.symmetric(
horizontal: 6.0,
),
decoration: BoxDecoration(
shape: BoxShape.rectangle,
color: Colors.white,
borderRadius:
BorderRadius.all(Radius.circular(10.0)),
),
child: Text(
"$discount%",
style:
TextStyle(fontSize: 14.0, color: Colors.black),
)),
],
),
),
],
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(
width: 5.0,
),
Text(
'${formatCurrency.format(newPrice)}',
style:
TextStyle(color: Colors.black, fontWeight: FontWeight.bold),
),
SizedBox(
width: 5.0,
),
Text(
'${formatCurrency.format(oldPrice)}',
style: TextStyle(
color: Colors.grey, fontWeight: FontWeight.normal),
),
],
)
],
),
);
}
}
`
appbar error
Compiler message:
lib/main.dart:25:15: Error: The argument type '#lib1::CustomAppBar' can't be assigned to the parameter type '#lib2::PreferredSizeWidget'.
Try changing the type of the parameter, or casting the argument to '#lib2::PreferredSizeWidget'.
appBar: CustomAppBar(),
^
Compiler failed on C:\Users\shaoz\Downloads\flightapp-master\lib\main.dart
Gradle task assembleDebug failed with exit code 1
Request: Branch without Firebase
Hey,
I would love to have a branch that doesn't use Firebase. I would like to just explore the app without having to setup firebase! That would be great.
The argument type 'Center' can't be assigned to the parameter type (BuildContext, String)
Hello Sir,
Kindly help me resolve this error message showing at main.dart line 467.
Error: The argument type '#lib1::Center' can't be assigned to the parameter type
'(#lib2::BuildContext, dart.core::String) → #lib2::Widget'.
Try changing the type of the parameter, or casting the argument to '(#lib2::BuildContext, dart.core::String) →
#lib2::Widget'.
placeholder: Center(child: CircularProgressIndicator()),
^
Compiler failed on /Users/hanson/VisualCodeProjects/flightapp/lib/main.dart
Error launching application on iPhone XR.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.