diff --git a/XamarinStudy/Resource/Image/splash.png b/XamarinStudy/Resource/Image/splash.png
new file mode 100644
index 0000000..49e9bc8
Binary files /dev/null and b/XamarinStudy/Resource/Image/splash.png differ
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.Android/MainActivity.cs b/XamarinStudy/XamarinStudy/XamarinStudy.Android/MainActivity.cs
index e052a03..dd13727 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy.Android/MainActivity.cs
+++ b/XamarinStudy/XamarinStudy/XamarinStudy.Android/MainActivity.cs
@@ -7,7 +7,7 @@ using Android.OS;
namespace XamarinStudy.Droid
{
- [Activity(Label = "XamarinStudy", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize )]
+ [Activity(Label = "XamarinStudy", Icon = "@drawable/droid", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize )]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.Android/Properties/AndroidManifest.xml b/XamarinStudy/XamarinStudy/XamarinStudy.Android/Properties/AndroidManifest.xml
index 89d23c4..be55e5c 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy.Android/Properties/AndroidManifest.xml
+++ b/XamarinStudy/XamarinStudy/XamarinStudy.Android/Properties/AndroidManifest.xml
@@ -1,6 +1,6 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.Android/Resources/Resource.designer.cs b/XamarinStudy/XamarinStudy/XamarinStudy.Android/Resources/Resource.designer.cs
index 94e18fe..27272d8 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy.Android/Resources/Resource.designer.cs
+++ b/XamarinStudy/XamarinStudy/XamarinStudy.Android/Resources/Resource.designer.cs
@@ -16664,16 +16664,19 @@ namespace XamarinStudy.Droid
public const int preference_list_divider_material = 2131165327;
// aapt resource value: 0x7F070090
- public const int test_custom_background = 2131165328;
+ public const int splash = 2131165328;
// aapt resource value: 0x7F070091
- public const int tooltip_frame_dark = 2131165329;
+ public const int test_custom_background = 2131165329;
// aapt resource value: 0x7F070092
- public const int tooltip_frame_light = 2131165330;
+ public const int tooltip_frame_dark = 2131165330;
// aapt resource value: 0x7F070093
- public const int xamarin_logo = 2131165331;
+ public const int tooltip_frame_light = 2131165331;
+
+ // aapt resource value: 0x7F070094
+ public const int xamarin_logo = 2131165332;
static Drawable()
{
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.Android/Resources/drawable/splash.png b/XamarinStudy/XamarinStudy/XamarinStudy.Android/Resources/drawable/splash.png
new file mode 100644
index 0000000..49e9bc8
Binary files /dev/null and b/XamarinStudy/XamarinStudy/XamarinStudy.Android/Resources/drawable/splash.png differ
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.Android/XamarinStudy.Android.csproj b/XamarinStudy/XamarinStudy/XamarinStudy.Android/XamarinStudy.Android.csproj
index a5fc71b..83a1186 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy.Android/XamarinStudy.Android.csproj
+++ b/XamarinStudy/XamarinStudy/XamarinStudy.Android/XamarinStudy.Android.csproj
@@ -17,7 +17,7 @@
Resources
Assets
false
- v12.0
+ v13.0
true
true
Xamarin.Android.Net.AndroidClientHandler
@@ -33,6 +33,7 @@
prompt
4
None
+ false
true
@@ -95,5 +96,8 @@
+
+
+
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-100.png b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-100.png
index eacdf20..a5af18f 100644
Binary files a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-100.png and b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-100.png differ
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-125.png b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-125.png
new file mode 100644
index 0000000..d2c0dca
Binary files /dev/null and b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-125.png differ
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-150.png b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-150.png
new file mode 100644
index 0000000..98b5a89
Binary files /dev/null and b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-150.png differ
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-200.png b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-200.png
index caa5fc9..cbe9863 100644
Binary files a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-200.png and b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-200.png differ
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-400.png b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-400.png
index 16d9784..5fd142c 100644
Binary files a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-400.png and b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Assets/SplashScreen.scale-400.png differ
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Package.appxmanifest b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Package.appxmanifest
index 9cd57e8..ce45644 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Package.appxmanifest
+++ b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/Package.appxmanifest
@@ -44,7 +44,7 @@
-
+
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/XamarinStudy.UWP.csproj b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/XamarinStudy.UWP.csproj
index 9f7a358..43d91fa 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy.UWP/XamarinStudy.UWP.csproj
+++ b/XamarinStudy/XamarinStudy/XamarinStudy.UWP/XamarinStudy.UWP.csproj
@@ -105,6 +105,8 @@
+
+
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs
index 94edf7b..eae93f4 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/App.xaml.cs
@@ -57,7 +57,7 @@ namespace XamarinStudy
//MainPage = new SampleListViewPage();
- MainPage = new ToyMartPage();
+ MainPage = new NavigationPage(new ToyMartPage());
}
protected override void OnStart()
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Models/Toy.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Models/Toy.cs
index e5b9e29..ed6290d 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy/Models/Toy.cs
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Models/Toy.cs
@@ -1,20 +1,41 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
+using System.Runtime.CompilerServices;
using System.Text;
namespace XamarinStudy.Models
{
- internal class Toy
+ public class Toy : INotifyPropertyChanged
{
public enum TOY_CATEGORY { Robot, Car, Plane, Figure, Block }
public string Name { get; set; }
public int Price { get; set; }
- public int Count { get; set; }
+ public int Count { get; set; } = 1;
public string Image { get => $"{this.Name}.png"; }
- public bool Checked { get; set; }
public TOY_CATEGORY Category { get; set; }
+
+ private bool isChecked;
+ public bool IsChecked
+ {
+ get
+ {
+ return isChecked;
+ }
+ set
+ {
+ isChecked = value;
+ OnPropertyChanged("IsChecked");
+ }
+ }
+
+ public event PropertyChangedEventHandler PropertyChanged;
+ protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
}
class KindOf : List
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyDetailPage.xaml b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyDetailPage.xaml
new file mode 100644
index 0000000..f03f3ca
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyDetailPage.xaml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyDetailPage.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyDetailPage.xaml.cs
new file mode 100644
index 0000000..e899108
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyDetailPage.xaml.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+using XamarinStudy.Models;
+
+namespace XamarinStudy.Views
+{
+ [XamlCompilation(XamlCompilationOptions.Compile)]
+ public partial class ToyDetailPage : ContentPage
+ {
+ public ToyDetailPage(Toy toy)
+ {
+ InitializeComponent();
+ this.BindingContext = toy;
+ }
+ }
+}
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml
index 24120ea..ffdae62 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml
@@ -2,22 +2,28 @@
+ x:Class="XamarinStudy.Views.ToyMartPage"
+ Title="Toy Mart">
+
+
+
+
-
+
-
-
-
+
+
-
@@ -29,7 +35,7 @@
-
+
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml.cs
index 61ca33c..1fc5ef0 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml.cs
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyMartPage.xaml.cs
@@ -25,5 +25,42 @@ namespace XamarinStudy.Views
//menuListView.ItemsSource = ToyRepository.ToyList;
menuListView.ItemsSource = ToyRepository.ToyListKindOf;
}
+
+ private void menuListView_ItemTapped(object sender, ItemTappedEventArgs e)
+ {
+ Navigation.PushAsync(new ToyDetailPage((Toy)e.Item));
+ }
+
+ private void orderToolbarItem_Clicked(object sender, EventArgs e)
+ {
+ List selected = ToyRepository.ToyListKindOf.SelectMany(t => t).Where(t => t.IsChecked).ToList();
+ if (selected.Count < 1)
+ {
+ DisplayAlert("Alert", "Please select the items.", "OK");
+ return;
+ }
+
+ Navigation.PushAsync(new ToyOrderPage(selected));
+ }
+
+ private void menuListView_Refreshing(object sender, EventArgs e)
+ {
+ List selected = ToyRepository.ToyListKindOf.SelectMany(t => t).Where(t => t.IsChecked).ToList();
+ foreach (Toy toy in selected)
+ {
+ toy.IsChecked = false;
+ }
+
+ menuListView.EndRefresh();
+ }
+
+ private void unselectAllToolbarItem_Clicked(object sender, EventArgs e)
+ {
+ List selected = ToyRepository.ToyListKindOf.SelectMany(t => t).Where(t => t.IsChecked).ToList();
+ foreach (Toy toy in selected)
+ {
+ toy.IsChecked = false;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyOrderPage.xaml b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyOrderPage.xaml
new file mode 100644
index 0000000..19ac6f6
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyOrderPage.xaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyOrderPage.xaml.cs b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyOrderPage.xaml.cs
new file mode 100644
index 0000000..a623368
--- /dev/null
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/Views/ToyOrderPage.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+using XamarinStudy.Models;
+
+namespace XamarinStudy.Views
+{
+ [XamlCompilation(XamlCompilationOptions.Compile)]
+ public partial class ToyOrderPage : ContentPage
+ {
+ public ToyOrderPage(List toys)
+ {
+ InitializeComponent();
+ orderList.BindingContext = toys;
+ }
+
+ private void orderButton_Clicked(object sender, EventArgs e)
+ {
+ DisplayAlert("Order finished", "Your order has been successfully processed.", "OK");
+ }
+ }
+}
\ No newline at end of file
diff --git a/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj b/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj
index 8683ea8..a3d3ead 100644
--- a/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj
+++ b/XamarinStudy/XamarinStudy/XamarinStudy/XamarinStudy.csproj
@@ -110,8 +110,14 @@
MSBuild:UpdateDesignTimeXaml
+
+ MSBuild:UpdateDesignTimeXaml
+
MSBuild:UpdateDesignTimeXaml
+
+ MSBuild:UpdateDesignTimeXaml
+
\ No newline at end of file