diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj b/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj
index d2c42fc..d1cd930 100644
--- a/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj
+++ b/CollectionViewChallenge/CollectionViewChallenge.Android/CollectionViewChallenge.Android.csproj
@@ -15,7 +15,6 @@
Properties\AndroidManifest.xml
Resources
Assets
- false
v8.1
true
Xamarin.Android.Net.AndroidClientHandler
@@ -93,6 +92,9 @@
+
+
+
@@ -102,7 +104,7 @@
- {BA39825E-3CF8-4A31-B120-782B2A651542}
+ {9A9DDEE5-8C48-4274-82D7-22EB79C97206}
CollectionViewChallenge
diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml b/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml
index 8a8223a..0a62e2d 100644
--- a/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml
+++ b/CollectionViewChallenge/CollectionViewChallenge.Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
-
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/promo1.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/promo1.png
new file mode 100644
index 0000000..40613a3
Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/promo1.png differ
diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/promo2.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/promo2.png
new file mode 100644
index 0000000..c53733a
Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/promo2.png differ
diff --git a/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/qrcode.png b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/qrcode.png
new file mode 100644
index 0000000..32efcda
Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.Android/Resources/drawable/qrcode.png differ
diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj b/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj
index 49a7105..4efefa2 100644
--- a/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj
+++ b/CollectionViewChallenge/CollectionViewChallenge.iOS/CollectionViewChallenge.iOS.csproj
@@ -123,6 +123,9 @@
+
+
+
@@ -139,7 +142,7 @@
- {BA39825E-3CF8-4A31-B120-782B2A651542}
+ {9A9DDEE5-8C48-4274-82D7-22EB79C97206}
CollectionViewChallenge
diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/promo1.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/promo1.png
new file mode 100644
index 0000000..40613a3
Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/promo1.png differ
diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/promo2.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/promo2.png
new file mode 100644
index 0000000..c53733a
Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/promo2.png differ
diff --git a/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/qrcode.png b/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/qrcode.png
new file mode 100644
index 0000000..32efcda
Binary files /dev/null and b/CollectionViewChallenge/CollectionViewChallenge.iOS/Resources/qrcode.png differ
diff --git a/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs b/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs
index c0a3329..784af9d 100644
--- a/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs
+++ b/CollectionViewChallenge/CollectionViewChallenge/App.xaml.cs
@@ -12,7 +12,7 @@ public App()
{
InitializeComponent();
- MainPage = new AppShell();
+ MainPage = new CollectionViewChallengePage();
}
protected override void OnStart()
diff --git a/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml b/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml
index 9364c60..627acee 100644
--- a/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml
+++ b/CollectionViewChallenge/CollectionViewChallenge/AppShell.xaml
@@ -6,7 +6,6 @@
RouteScheme="app"
Route="CollectionViewChallenge"
FlyoutBehavior="Disabled"
- Title="CollectionViewChallenge"
x:Class="CollectionViewChallenge.AppShell">
- #2196F3
+ White
@@ -70,9 +69,9 @@
-
-
-
+
+
+
diff --git a/CollectionViewChallenge/CollectionViewChallenge/CollectionViewChallenge.csproj b/CollectionViewChallenge/CollectionViewChallenge/CollectionViewChallenge.csproj
index 3ccfc60..0b672f4 100644
--- a/CollectionViewChallenge/CollectionViewChallenge/CollectionViewChallenge.csproj
+++ b/CollectionViewChallenge/CollectionViewChallenge/CollectionViewChallenge.csproj
@@ -24,5 +24,6 @@
+
\ No newline at end of file
diff --git a/CollectionViewChallenge/CollectionViewChallenge/Models/Categoria.cs b/CollectionViewChallenge/CollectionViewChallenge/Models/Categoria.cs
new file mode 100644
index 0000000..9f68bd5
--- /dev/null
+++ b/CollectionViewChallenge/CollectionViewChallenge/Models/Categoria.cs
@@ -0,0 +1,14 @@
+namespace CollectionViewChallenge.Models
+{
+ public class Categoria
+ {
+ public string Nome { get; private set; }
+ public string Foto { get; private set; }
+
+ public Categoria(string nome, string foto)
+ {
+ Nome = nome;
+ Foto = foto;
+ }
+ }
+}
\ No newline at end of file
diff --git a/CollectionViewChallenge/CollectionViewChallenge/Models/Promocao.cs b/CollectionViewChallenge/CollectionViewChallenge/Models/Promocao.cs
new file mode 100644
index 0000000..6a566ad
--- /dev/null
+++ b/CollectionViewChallenge/CollectionViewChallenge/Models/Promocao.cs
@@ -0,0 +1,18 @@
+using System;
+
+namespace CollectionViewChallenge.Models
+{
+ public class Promocao
+ {
+ public string Id { get; private set; }
+ public string Descricao { get; private set; }
+ public string Foto { get; private set; }
+
+ public Promocao(string descricao, string foto)
+ {
+ Id = Guid.NewGuid().ToString();
+ Descricao = descricao;
+ Foto = foto;
+ }
+ }
+}
\ No newline at end of file
diff --git a/CollectionViewChallenge/CollectionViewChallenge/Models/Restaurante.cs b/CollectionViewChallenge/CollectionViewChallenge/Models/Restaurante.cs
new file mode 100644
index 0000000..6d2b1c6
--- /dev/null
+++ b/CollectionViewChallenge/CollectionViewChallenge/Models/Restaurante.cs
@@ -0,0 +1,14 @@
+namespace CollectionViewChallenge.Models
+{
+ public class Restaurante
+ {
+ public string Nome { get; private set; }
+ public string Foto { get; private set; }
+
+ public Restaurante(string nome, string foto)
+ {
+ Nome = nome;
+ Foto = foto;
+ }
+ }
+}
\ No newline at end of file
diff --git a/CollectionViewChallenge/CollectionViewChallenge/ViewModels/CollectionViewChallangePageViewModel.cs b/CollectionViewChallenge/CollectionViewChallenge/ViewModels/CollectionViewChallangePageViewModel.cs
new file mode 100644
index 0000000..f93b376
--- /dev/null
+++ b/CollectionViewChallenge/CollectionViewChallenge/ViewModels/CollectionViewChallangePageViewModel.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.ObjectModel;
+using CollectionViewChallenge.Models;
+
+namespace CollectionViewChallenge.ViewModels
+{
+ public class CollectionViewChallangePageViewModel
+ {
+ public ObservableCollection Promocoes { get; set; }
+ public ObservableCollection Categorias { get; set; }
+ public ObservableCollection Restaurantes { get; set; }
+ public ObservableCollection UltimosRestaurantes { get; set; }
+
+ public CollectionViewChallangePageViewModel()
+ {
+ Promocoes = new ObservableCollection()
+ {
+ new Promocao(@"Opções a partir de R$10 sem taxas", "promo1.png"),
+ new Promocao(@"Cortesia do restaurante para você", "promo2.png"),
+ new Promocao(@"Populares perto de você", "promo1.png"),
+ new Promocao(@"Pra comer leve e gostoso", "promo2.png"),
+ new Promocao(@"Delicia pra refrescar", "promo1.png")
+ };
+
+ Categorias = new ObservableCollection()
+ {
+ new Categoria("Brasileira", "http://lorempixel.com/output/food-q-c-270-200-2.jpg"),
+ new Categoria("Lanche", "http://lorempixel.com/output/food-q-c-270-200-9.jpg"),
+ new Categoria("Saudável", "http://lorempixel.com/output/food-q-c-270-200-5.jpg"),
+ new Categoria("Chinesa", "http://lorempixel.com/output/food-q-c-270-200-1.jpg"),
+ new Categoria("Japonesa", "http://lorempixel.com/output/food-q-c-270-200-4.jpg"),
+ new Categoria("Italiana", "http://lorempixel.com/output/food-q-c-270-200-3.jpg")
+ };
+
+ Restaurantes = new ObservableCollection()
+ {
+ new Restaurante("Habibs", "https://www.gad.com.br/wp-content/uploads/2018/09/small_S_L_cmyk_neg_logo.png"),
+ new Restaurante("Mc Donalds", "http://imagensemoldes.com.br/wp-content/uploads/2018/03/Mc-Donald%C2%B4s-Logo-Vetor-PNG-300x233.png"),
+ new Restaurante("Burguer King", "https://upload.wikimedia.org/wikipedia/pt/thumb/c/cf/Logotipo_do_Burger_King.svg/1024px-Logotipo_do_Burger_King.svg.png"),
+ new Restaurante("Pizza Hut", "http://viagemdeincentivo.com.br/wp-content/uploads/2014/07/logo-pizza-hut.png"),
+ new Restaurante("Bobs", "https://viacafegardenshopping.com.br/wp-content/uploads/2015/11/Bobs-Logo.jpg")
+ };
+ }
+ }
+}
diff --git a/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml b/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml
index f2da7f7..c9a94f5 100644
--- a/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml
+++ b/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml
@@ -1,32 +1,218 @@
-
+
-
-
-
-
-
-
- This is a CollectionView!
- Your feedback on the experience of converting a ListView to a CollectionView is incredibly appreciated.
- Here are three general questions:
- 1. How was the experience of converting your existing ListView to a CollectionView?
- 2. How is the performance compared to the ListView?
- 3. Is there a specific piece of functionality that you'd like to see?
-
-
-
-
-
-
-
-
-
-
+ x:Class="CollectionViewChallenge.Views.CollectionViewChallengePage"
+ xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
+ ios:Page.UseSafeArea="true"
+ BackgroundColor="White">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Horizontal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml.cs b/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml.cs
index 701124f..d6b25a3 100644
--- a/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml.cs
+++ b/CollectionViewChallenge/CollectionViewChallenge/Views/CollectionViewChallengePage.xaml.cs
@@ -3,7 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-
+using CollectionViewChallenge.ViewModels;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
@@ -15,6 +15,7 @@ public partial class CollectionViewChallengePage : ContentPage
public CollectionViewChallengePage()
{
InitializeComponent();
+ BindingContext = new CollectionViewChallangePageViewModel();
}
}
}
\ No newline at end of file