SlideShare a Scribd company logo
Creating an Uber Clone - Part VII
The Map
© Codename One 2017 all rights reserved
The Map
© Codename One 2017 all rights reserved
✦The hamburger menu button above
represents the side menu
✦The "Where to?" field is really a button
✦For now I'll just place one unmoving Taxi
and we'll deal with the positioning later on
✦The two icons on the bottom represent
historic rides which I'll hardcode for now
✦The bottom notice is something I won't
implement within the app
public class MapForm extends Form {
private static final String MAP_JS_KEY = "AIza-------";
private Image square;
private Image dropShadow;
public MapForm() {
super(new LayeredLayout());
setScrollableY(false);
Display.getInstance().callSeriallyOnIdle(() -> {
dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30,
convertToPixels(3), 0.40f);
});
setTransitionOutAnimator(CommonTransitions.createEmpty());
MapContainer mc = new MapContainer(MAP_JS_KEY);
mc.setShowMyLocation(true);
add(mc);
Container mapLayer = new Container();
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
MapForm
public class MapForm extends Form {
private static final String MAP_JS_KEY = "AIza-------";
private Image square;
private Image dropShadow;
public MapForm() {
super(new LayeredLayout());
setScrollableY(false);
Display.getInstance().callSeriallyOnIdle(() -> {
dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30,
convertToPixels(3), 0.40f);
});
setTransitionOutAnimator(CommonTransitions.createEmpty());
MapContainer mc = new MapContainer(MAP_JS_KEY);
mc.setShowMyLocation(true);
add(mc);
Container mapLayer = new Container();
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
MapForm
public class MapForm extends Form {
private static final String MAP_JS_KEY = "AIza-------";
private Image square;
private Image dropShadow;
public MapForm() {
super(new LayeredLayout());
setScrollableY(false);
Display.getInstance().callSeriallyOnIdle(() -> {
dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30,
convertToPixels(3), 0.40f);
});
setTransitionOutAnimator(CommonTransitions.createEmpty());
MapContainer mc = new MapContainer(MAP_JS_KEY);
mc.setShowMyLocation(true);
add(mc);
Container mapLayer = new Container();
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
MapForm
public class MapForm extends Form {
private static final String MAP_JS_KEY = "AIza-------";
private Image square;
private Image dropShadow;
public MapForm() {
super(new LayeredLayout());
setScrollableY(false);
Display.getInstance().callSeriallyOnIdle(() -> {
dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30,
convertToPixels(3), 0.40f);
});
setTransitionOutAnimator(CommonTransitions.createEmpty());
MapContainer mc = new MapContainer(MAP_JS_KEY);
mc.setShowMyLocation(true);
add(mc);
Container mapLayer = new Container();
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
MapForm
public class MapForm extends Form {
private static final String MAP_JS_KEY = "AIza-------";
private Image square;
private Image dropShadow;
public MapForm() {
super(new LayeredLayout());
setScrollableY(false);
Display.getInstance().callSeriallyOnIdle(() -> {
dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30,
convertToPixels(3), 0.40f);
});
setTransitionOutAnimator(CommonTransitions.createEmpty());
MapContainer mc = new MapContainer(MAP_JS_KEY);
mc.setShowMyLocation(true);
add(mc);
Container mapLayer = new Container();
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
MapForm
public class MapForm extends Form {
private static final String MAP_JS_KEY = "AIza-------";
private Image square;
private Image dropShadow;
public MapForm() {
super(new LayeredLayout());
setScrollableY(false);
Display.getInstance().callSeriallyOnIdle(() -> {
dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30,
convertToPixels(3), 0.40f);
});
setTransitionOutAnimator(CommonTransitions.createEmpty());
MapContainer mc = new MapContainer(MAP_JS_KEY);
mc.setShowMyLocation(true);
add(mc);
Container mapLayer = new Container();
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
MapForm
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
mapLayer.add(telAviv, car);
square = Image.createImage(convertToPixels(0.7f),
convertToPixels(0.7f), 0xff000000);
Button whereTo = new Button("Where To?", square, "WhereTo");
whereTo.setGap(convertToPixels(3));
add(BoxLayout.encloseY(whereTo));
FloatingActionButton history1 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
FloatingActionButton history2 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4);
TextArea history2Label = new TextArea("Burgeranch", 3, 4);
history1Label.setUIID("HistoryLabel");
history2Label.setUIID("HistoryLabel");
history1Label.setEditable(false);
MapForm
mapLayer.setLayout(new MapLayout(mc, mapLayer));
add(mapLayer);
Coord telAviv = new Coord(32.072449, 34.778613);
mc.zoom(telAviv, mc.getMaxZoom() + 1);
Label car = new Label(Resources.getGlobalResources().
getImage("map-vehicle-icon-uberX.png"));
car.getAllStyles().setOpacity(140);
mapLayer.add(telAviv, car);
square = Image.createImage(convertToPixels(0.7f),
convertToPixels(0.7f), 0xff000000);
Button whereTo = new Button("Where To?", square, "WhereTo");
whereTo.setGap(convertToPixels(3));
add(BoxLayout.encloseY(whereTo));
FloatingActionButton history1 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
FloatingActionButton history2 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4);
TextArea history2Label = new TextArea("Burgeranch", 3, 4);
history1Label.setUIID("HistoryLabel");
history2Label.setUIID("HistoryLabel");
history1Label.setEditable(false);
MapForm
whereTo.setGap(convertToPixels(3));
add(BoxLayout.encloseY(whereTo));
FloatingActionButton history1 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
FloatingActionButton history2 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4);
TextArea history2Label = new TextArea("Burgeranch", 3, 4);
history1Label.setUIID("HistoryLabel");
history2Label.setUIID("HistoryLabel");
history1Label.setEditable(false);
history1Label.setGrowByContent(false);
history2Label.setEditable(false);
history2Label.setGrowByContent(false);
Container h1 = BoxLayout.encloseY(history1, history1Label);
Container h2 = BoxLayout.encloseY(history2, history2Label);
h1.setLeadComponent(history1);
h2.setLeadComponent(history2);
ScaleImageLabel gradient = new ScaleImageLabel(Resources.
getGlobalResources().getImage("gradient-overlay.png"));
gradient.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);
add(BorderLayout.south(gradient));
MapForm
whereTo.setGap(convertToPixels(3));
add(BoxLayout.encloseY(whereTo));
FloatingActionButton history1 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
FloatingActionButton history2 = FloatingActionButton.createFAB(
FontImage.MATERIAL_HISTORY, "History");
TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4);
TextArea history2Label = new TextArea("Burgeranch", 3, 4);
history1Label.setUIID("HistoryLabel");
history2Label.setUIID("HistoryLabel");
history1Label.setEditable(false);
history1Label.setGrowByContent(false);
history2Label.setEditable(false);
history2Label.setGrowByContent(false);
Container h1 = BoxLayout.encloseY(history1, history1Label);
Container h2 = BoxLayout.encloseY(history2, history2Label);
h1.setLeadComponent(history1);
h2.setLeadComponent(history2);
ScaleImageLabel gradient = new ScaleImageLabel(Resources.
getGlobalResources().getImage("gradient-overlay.png"));
gradient.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);
add(BorderLayout.south(gradient));
MapForm
history1Label.setUIID("HistoryLabel");
history2Label.setUIID("HistoryLabel");
history1Label.setEditable(false);
history1Label.setGrowByContent(false);
history2Label.setEditable(false);
history2Label.setGrowByContent(false);
Container h1 = BoxLayout.encloseY(history1, history1Label);
Container h2 = BoxLayout.encloseY(history2, history2Label);
h1.setLeadComponent(history1);
h2.setLeadComponent(history2);
ScaleImageLabel gradient = new ScaleImageLabel(Resources.
getGlobalResources().getImage("gradient-overlay.png"));
gradient.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);
add(BorderLayout.south(gradient));
add(BorderLayout.south(FlowLayout.encloseCenter(h1, h2)));
}
@Override
protected void initGlobalToolbar() {
setToolbar(new Toolbar(true));
CommonCode.constructSideMenu(getToolbar());
}
}
MapForm
WhereTo
© Codename One 2017 all rights reserved
WhereTo
© Codename One 2017 all rights reserved
WhereTo
© Codename One 2017 all rights reserved
WhereTo
© Codename One 2017 all rights reserved
WhereTo
© Codename One 2017 all rights reserved
History
© Codename One 2017 all rights reserved
HistoryLabel
© Codename One 2017 all rights reserved
HistoryLabel
© Codename One 2017 all rights reserved
HistoryLabel
© Codename One 2017 all rights reserved
HistoryLabel
© Codename One 2017 all rights reserved
HistoryLabel
© Codename One 2017 all rights reserved

More Related Content

Similar to Creating an Uber Clone - Part VII.pdf

UI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdfUI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part XXIII.pdf
Creating an Uber Clone - Part XXIII.pdfCreating an Uber Clone - Part XXIII.pdf
Creating an Uber Clone - Part XXIII.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part XVI.pdf
Creating an Uber Clone - Part XVI.pdfCreating an Uber Clone - Part XVI.pdf
Creating an Uber Clone - Part XVI.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part XXIII - Transcript.pdf
Creating an Uber Clone - Part XXIII - Transcript.pdfCreating an Uber Clone - Part XXIII - Transcript.pdf
Creating an Uber Clone - Part XXIII - Transcript.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part XXII.pdf
Creating an Uber Clone - Part XXII.pdfCreating an Uber Clone - Part XXII.pdf
Creating an Uber Clone - Part XXII.pdf
ShaiAlmog1
 
Maps - Part 3.pdf
Maps - Part 3.pdfMaps - Part 3.pdf
Maps - Part 3.pdf
ShaiAlmog1
 
Leaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGLLeaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGL
gerbille
 
Mobile Game and Application with J2ME - Collision Detection
Mobile Gameand Application withJ2ME  - Collision DetectionMobile Gameand Application withJ2ME  - Collision Detection
Mobile Game and Application with J2ME - Collision Detection
Jenchoke Tachagomain
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2ME
Jenchoke Tachagomain
 
Creating an Uber Clone - Part XXI - Transcript.pdf
Creating an Uber Clone - Part XXI - Transcript.pdfCreating an Uber Clone - Part XXI - Transcript.pdf
Creating an Uber Clone - Part XXI - Transcript.pdf
ShaiAlmog1
 
google play service 7.8 & new tech in M
google play service 7.8 & new tech in M google play service 7.8 & new tech in M
google play service 7.8 & new tech in M
Ted Liang
 
Initial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdfInitial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part XXIV.pdf
Creating an Uber Clone - Part XXIV.pdfCreating an Uber Clone - Part XXIV.pdf
Creating an Uber Clone - Part XXIV.pdf
ShaiAlmog1
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring CanvasKevin Hoyt
 
Developing Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual EarthDeveloping Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual Earth
goodfriday
 
Creating a Facebook Clone - Part III.pdf
Creating a Facebook Clone - Part III.pdfCreating a Facebook Clone - Part III.pdf
Creating a Facebook Clone - Part III.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdfCreating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part X.pdf
Creating an Uber Clone - Part X.pdfCreating an Uber Clone - Part X.pdf
Creating an Uber Clone - Part X.pdf
ShaiAlmog1
 
Supstat nyc subway
Supstat nyc subwaySupstat nyc subway
Supstat nyc subway
Vivian S. Zhang
 

Similar to Creating an Uber Clone - Part VII.pdf (20)

UI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdfUI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdf
 
Creating an Uber Clone - Part XXIII.pdf
Creating an Uber Clone - Part XXIII.pdfCreating an Uber Clone - Part XXIII.pdf
Creating an Uber Clone - Part XXIII.pdf
 
Creating an Uber Clone - Part XVI.pdf
Creating an Uber Clone - Part XVI.pdfCreating an Uber Clone - Part XVI.pdf
Creating an Uber Clone - Part XVI.pdf
 
Creating an Uber Clone - Part XXIII - Transcript.pdf
Creating an Uber Clone - Part XXIII - Transcript.pdfCreating an Uber Clone - Part XXIII - Transcript.pdf
Creating an Uber Clone - Part XXIII - Transcript.pdf
 
Creating an Uber Clone - Part XXII.pdf
Creating an Uber Clone - Part XXII.pdfCreating an Uber Clone - Part XXII.pdf
Creating an Uber Clone - Part XXII.pdf
 
Maps - Part 3.pdf
Maps - Part 3.pdfMaps - Part 3.pdf
Maps - Part 3.pdf
 
Leaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGLLeaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGL
 
Mobile Game and Application with J2ME - Collision Detection
Mobile Gameand Application withJ2ME  - Collision DetectionMobile Gameand Application withJ2ME  - Collision Detection
Mobile Game and Application with J2ME - Collision Detection
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2ME
 
Creating an Uber Clone - Part XXI - Transcript.pdf
Creating an Uber Clone - Part XXI - Transcript.pdfCreating an Uber Clone - Part XXI - Transcript.pdf
Creating an Uber Clone - Part XXI - Transcript.pdf
 
google play service 7.8 & new tech in M
google play service 7.8 & new tech in M google play service 7.8 & new tech in M
google play service 7.8 & new tech in M
 
Initial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdfInitial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdf
 
Creating an Uber Clone - Part XXIV.pdf
Creating an Uber Clone - Part XXIV.pdfCreating an Uber Clone - Part XXIV.pdf
Creating an Uber Clone - Part XXIV.pdf
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
Developing Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual EarthDeveloping Applications with Microsoft Virtual Earth
Developing Applications with Microsoft Virtual Earth
 
Creating a Facebook Clone - Part III.pdf
Creating a Facebook Clone - Part III.pdfCreating a Facebook Clone - Part III.pdf
Creating a Facebook Clone - Part III.pdf
 
Creating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdfCreating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdf
 
Creating an Uber Clone - Part X.pdf
Creating an Uber Clone - Part X.pdfCreating an Uber Clone - Part X.pdf
Creating an Uber Clone - Part X.pdf
 
Supstat nyc subway
Supstat nyc subwaySupstat nyc subway
Supstat nyc subway
 
Proga 0608
Proga 0608Proga 0608
Proga 0608
 

More from ShaiAlmog1

The Duck Teaches Learn to debug from the masters. Local to production- kill ...
The Duck Teaches  Learn to debug from the masters. Local to production- kill ...The Duck Teaches  Learn to debug from the masters. Local to production- kill ...
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
ShaiAlmog1
 
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdfcreate-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdf
ShaiAlmog1
 
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdfcreate-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdfcreate-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdf
ShaiAlmog1
 
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdfcreate-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdfcreate-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdf
ShaiAlmog1
 
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdf
ShaiAlmog1
 
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdfcreate-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdfcreate-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdf
ShaiAlmog1
 
create-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdfcreate-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdfCreating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdfCreating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdfCreating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdfCreating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdfCreating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdfCreating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
ShaiAlmog1
 

More from ShaiAlmog1 (20)

The Duck Teaches Learn to debug from the masters. Local to production- kill ...
The Duck Teaches  Learn to debug from the masters. Local to production- kill ...The Duck Teaches  Learn to debug from the masters. Local to production- kill ...
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
 
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdfcreate-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdf
 
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdfcreate-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdf
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
 
create-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdfcreate-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdf
 
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdfcreate-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdf
 
create-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdfcreate-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdf
 
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdf
 
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdfcreate-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdf
 
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdfcreate-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdf
 
create-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdfcreate-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdf
 
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdfCreating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdf
 
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdfCreating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
 
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdfCreating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
 
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdfCreating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
 
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdfCreating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdf
 
Creating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdfCreating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

Creating an Uber Clone - Part VII.pdf

  • 1. Creating an Uber Clone - Part VII
  • 2. The Map © Codename One 2017 all rights reserved
  • 3. The Map © Codename One 2017 all rights reserved ✦The hamburger menu button above represents the side menu ✦The "Where to?" field is really a button ✦For now I'll just place one unmoving Taxi and we'll deal with the positioning later on ✦The two icons on the bottom represent historic rides which I'll hardcode for now ✦The bottom notice is something I won't implement within the app
  • 4. public class MapForm extends Form { private static final String MAP_JS_KEY = "AIza-------"; private Image square; private Image dropShadow; public MapForm() { super(new LayeredLayout()); setScrollableY(false); Display.getInstance().callSeriallyOnIdle(() -> { dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30, convertToPixels(3), 0.40f); }); setTransitionOutAnimator(CommonTransitions.createEmpty()); MapContainer mc = new MapContainer(MAP_JS_KEY); mc.setShowMyLocation(true); add(mc); Container mapLayer = new Container(); mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); MapForm
  • 5. public class MapForm extends Form { private static final String MAP_JS_KEY = "AIza-------"; private Image square; private Image dropShadow; public MapForm() { super(new LayeredLayout()); setScrollableY(false); Display.getInstance().callSeriallyOnIdle(() -> { dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30, convertToPixels(3), 0.40f); }); setTransitionOutAnimator(CommonTransitions.createEmpty()); MapContainer mc = new MapContainer(MAP_JS_KEY); mc.setShowMyLocation(true); add(mc); Container mapLayer = new Container(); mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); MapForm
  • 6. public class MapForm extends Form { private static final String MAP_JS_KEY = "AIza-------"; private Image square; private Image dropShadow; public MapForm() { super(new LayeredLayout()); setScrollableY(false); Display.getInstance().callSeriallyOnIdle(() -> { dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30, convertToPixels(3), 0.40f); }); setTransitionOutAnimator(CommonTransitions.createEmpty()); MapContainer mc = new MapContainer(MAP_JS_KEY); mc.setShowMyLocation(true); add(mc); Container mapLayer = new Container(); mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); MapForm
  • 7. public class MapForm extends Form { private static final String MAP_JS_KEY = "AIza-------"; private Image square; private Image dropShadow; public MapForm() { super(new LayeredLayout()); setScrollableY(false); Display.getInstance().callSeriallyOnIdle(() -> { dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30, convertToPixels(3), 0.40f); }); setTransitionOutAnimator(CommonTransitions.createEmpty()); MapContainer mc = new MapContainer(MAP_JS_KEY); mc.setShowMyLocation(true); add(mc); Container mapLayer = new Container(); mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); MapForm
  • 8. public class MapForm extends Form { private static final String MAP_JS_KEY = "AIza-------"; private Image square; private Image dropShadow; public MapForm() { super(new LayeredLayout()); setScrollableY(false); Display.getInstance().callSeriallyOnIdle(() -> { dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30, convertToPixels(3), 0.40f); }); setTransitionOutAnimator(CommonTransitions.createEmpty()); MapContainer mc = new MapContainer(MAP_JS_KEY); mc.setShowMyLocation(true); add(mc); Container mapLayer = new Container(); mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); MapForm
  • 9. public class MapForm extends Form { private static final String MAP_JS_KEY = "AIza-------"; private Image square; private Image dropShadow; public MapForm() { super(new LayeredLayout()); setScrollableY(false); Display.getInstance().callSeriallyOnIdle(() -> { dropShadow = LoginForm.squareShadow(getDisplayWidth(), 30, convertToPixels(3), 0.40f); }); setTransitionOutAnimator(CommonTransitions.createEmpty()); MapContainer mc = new MapContainer(MAP_JS_KEY); mc.setShowMyLocation(true); add(mc); Container mapLayer = new Container(); mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); MapForm
  • 10. mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); mapLayer.add(telAviv, car); square = Image.createImage(convertToPixels(0.7f), convertToPixels(0.7f), 0xff000000); Button whereTo = new Button("Where To?", square, "WhereTo"); whereTo.setGap(convertToPixels(3)); add(BoxLayout.encloseY(whereTo)); FloatingActionButton history1 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); FloatingActionButton history2 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4); TextArea history2Label = new TextArea("Burgeranch", 3, 4); history1Label.setUIID("HistoryLabel"); history2Label.setUIID("HistoryLabel"); history1Label.setEditable(false); MapForm
  • 11. mapLayer.setLayout(new MapLayout(mc, mapLayer)); add(mapLayer); Coord telAviv = new Coord(32.072449, 34.778613); mc.zoom(telAviv, mc.getMaxZoom() + 1); Label car = new Label(Resources.getGlobalResources(). getImage("map-vehicle-icon-uberX.png")); car.getAllStyles().setOpacity(140); mapLayer.add(telAviv, car); square = Image.createImage(convertToPixels(0.7f), convertToPixels(0.7f), 0xff000000); Button whereTo = new Button("Where To?", square, "WhereTo"); whereTo.setGap(convertToPixels(3)); add(BoxLayout.encloseY(whereTo)); FloatingActionButton history1 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); FloatingActionButton history2 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4); TextArea history2Label = new TextArea("Burgeranch", 3, 4); history1Label.setUIID("HistoryLabel"); history2Label.setUIID("HistoryLabel"); history1Label.setEditable(false); MapForm
  • 12. whereTo.setGap(convertToPixels(3)); add(BoxLayout.encloseY(whereTo)); FloatingActionButton history1 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); FloatingActionButton history2 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4); TextArea history2Label = new TextArea("Burgeranch", 3, 4); history1Label.setUIID("HistoryLabel"); history2Label.setUIID("HistoryLabel"); history1Label.setEditable(false); history1Label.setGrowByContent(false); history2Label.setEditable(false); history2Label.setGrowByContent(false); Container h1 = BoxLayout.encloseY(history1, history1Label); Container h2 = BoxLayout.encloseY(history2, history2Label); h1.setLeadComponent(history1); h2.setLeadComponent(history2); ScaleImageLabel gradient = new ScaleImageLabel(Resources. getGlobalResources().getImage("gradient-overlay.png")); gradient.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL); add(BorderLayout.south(gradient)); MapForm
  • 13. whereTo.setGap(convertToPixels(3)); add(BoxLayout.encloseY(whereTo)); FloatingActionButton history1 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); FloatingActionButton history2 = FloatingActionButton.createFAB( FontImage.MATERIAL_HISTORY, "History"); TextArea history1Label = new TextArea("Mikve Yisrael Str...", 3, 4); TextArea history2Label = new TextArea("Burgeranch", 3, 4); history1Label.setUIID("HistoryLabel"); history2Label.setUIID("HistoryLabel"); history1Label.setEditable(false); history1Label.setGrowByContent(false); history2Label.setEditable(false); history2Label.setGrowByContent(false); Container h1 = BoxLayout.encloseY(history1, history1Label); Container h2 = BoxLayout.encloseY(history2, history2Label); h1.setLeadComponent(history1); h2.setLeadComponent(history2); ScaleImageLabel gradient = new ScaleImageLabel(Resources. getGlobalResources().getImage("gradient-overlay.png")); gradient.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL); add(BorderLayout.south(gradient)); MapForm
  • 14. history1Label.setUIID("HistoryLabel"); history2Label.setUIID("HistoryLabel"); history1Label.setEditable(false); history1Label.setGrowByContent(false); history2Label.setEditable(false); history2Label.setGrowByContent(false); Container h1 = BoxLayout.encloseY(history1, history1Label); Container h2 = BoxLayout.encloseY(history2, history2Label); h1.setLeadComponent(history1); h2.setLeadComponent(history2); ScaleImageLabel gradient = new ScaleImageLabel(Resources. getGlobalResources().getImage("gradient-overlay.png")); gradient.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL); add(BorderLayout.south(gradient)); add(BorderLayout.south(FlowLayout.encloseCenter(h1, h2))); } @Override protected void initGlobalToolbar() { setToolbar(new Toolbar(true)); CommonCode.constructSideMenu(getToolbar()); } } MapForm
  • 15. WhereTo © Codename One 2017 all rights reserved
  • 16. WhereTo © Codename One 2017 all rights reserved
  • 17. WhereTo © Codename One 2017 all rights reserved
  • 18. WhereTo © Codename One 2017 all rights reserved
  • 19. WhereTo © Codename One 2017 all rights reserved
  • 20. History © Codename One 2017 all rights reserved
  • 21. HistoryLabel © Codename One 2017 all rights reserved
  • 22. HistoryLabel © Codename One 2017 all rights reserved
  • 23. HistoryLabel © Codename One 2017 all rights reserved
  • 24. HistoryLabel © Codename One 2017 all rights reserved
  • 25. HistoryLabel © Codename One 2017 all rights reserved