Carlos Cañizares Estévez 8 years ago
parent
commit
a73be10615
55 changed files with 823 additions and 48 deletions
  1. +35
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/App.xaml
  2. +2
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/BindablePicker.cs
  3. +86
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/CartButton.xaml
  4. +12
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/CartButton.xaml.cs
  5. +25
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/CustomSwitch.cs
  6. +1
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Effects/LineColorEffect.cs
  7. +1
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Navigation/NavigationService.cs
  8. +1
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs
  9. +10
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/MainViewModel.cs
  10. +9
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/SettingsViewModel.cs
  11. +2
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CustomNavigationPage.xaml
  12. +28
    -10
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/FiltersView.xaml
  13. +17
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/LoginView.xaml
  14. +14
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml
  15. +1
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/OrderDetailView.xaml
  16. +86
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/SettingsView.xaml
  17. +18
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/SettingsView.xaml.cs
  18. +1
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/OrderItemTemplate.xaml
  19. +4
    -21
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/ProductTemplate.xaml
  20. +20
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj
  21. +58
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Renderers/CustomSwitchRenderer.cs
  22. +1
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj
  23. +48
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml
  24. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Assets/circle_button_background.png
  25. +2
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Effects/EntryLineColorEffect.cs
  26. +60
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/CustomSwitchRenderer.cs
  27. +0
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/CustomTabbedPageRenderer.cs
  28. +2
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj
  29. +1
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Effects/EntryLineColorEffect.cs
  30. +56
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Renderers/CustomSwitchRenderer.cs
  31. +102
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Renderers/CustomTabbedPageRenderer.cs
  32. +68
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Renderers/SlideDownMenuPageRenderer.cs
  33. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default-568h@2x.png
  34. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default-Portrait.png
  35. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default-Portrait@2x.png
  36. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default.png
  37. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default@2x.png
  38. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-76.png
  39. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-76@2x.png
  40. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-Small.png
  41. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-Small@2x.png
  42. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-Small@3x.png
  43. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_cart.png
  44. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_cart@2x.png
  45. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_cart@3x.png
  46. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_filter.png
  47. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_filter@2x.png
  48. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_filter@3x.png
  49. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_profile.png
  50. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_profile@2x.png
  51. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_profile@3x.png
  52. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/product_add.png
  53. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/product_add@2x.png
  54. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/product_add@3x.png
  55. +52
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj

+ 35
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.Core/App.xaml View File

@ -112,9 +112,9 @@
<Setter Property="FontFamily"
Value="{StaticResource MontserratRegular}" />
<Setter Property="TextColor"
Value="{StaticResource WhiteColor}" />
Value="{StaticResource BlackColor}" />
<Setter Property="PlaceholderColor"
Value="{StaticResource WhiteColor}" />
Value="{StaticResource BlackColor}" />
<Setter Property="FontSize"
Value="{StaticResource LargeSize}" />
<Setter Property="HorizontalOptions"
@ -136,6 +136,39 @@
</Style.Triggers>
</Style>
<Style x:Key="UwpEntryStyle"
TargetType="{x:Type Entry}">
<Setter Property="FontFamily"
Value="{StaticResource MontserratRegular}" />
<Setter Property="TextColor"
Value="{StaticResource BlackColor}" />
<Setter Property="PlaceholderColor"
Value="{StaticResource BlackColor}" />
<Setter Property="FontSize"
Value="{StaticResource LargeSize}" />
<Setter Property="HorizontalOptions"
Value="FillAndExpand" />
<Setter Property="FontAttributes"
Value="Bold" />
<Setter Property="BackgroundColor"
Value="Transparent" />
<Setter Property="Opacity"
Value="0.6" />
<Setter Property="effects:LineColorEffect.ApplyLineColor"
Value="True" />
<Setter Property="effects:LineColorEffect.LineColor"
Value="Gray" />
<Style.Triggers>
<Trigger TargetType="Entry"
Property="IsFocused"
Value="True">
<Setter Property="Opacity" Value="1" />
<Setter Property="effects:LineColorEffect.LineColor"
Value="{StaticResource GreenColor}" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="NavigationPage">
<Setter Property="BarBackgroundColor" Value="{StaticResource GreenColor}"/>
<Setter Property="BarTextColor" Value="{StaticResource WhiteColor}"/>


+ 2
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/BindablePicker.cs View File

@ -7,10 +7,10 @@ namespace eShopOnContainers.Core.Controls
public class BindablePicker : Picker
{
public static readonly BindableProperty ItemsSourceProperty = BindableProperty.Create("ItemsSource",
typeof(IEnumerable), typeof(BindablePicker), null, propertyChanged: OnItemsSourceChanged);
typeof(IEnumerable), typeof(BindablePicker), null, propertyChanged: OnItemsSourceChanged);
public static readonly BindableProperty SelectedItemProperty = BindableProperty.Create("SelectedItem",
typeof(object), typeof(BindablePicker), null, BindingMode.TwoWay, propertyChanged: OnSelectedItemChanged);
typeof(object), typeof(BindablePicker), null, BindingMode.TwoWay, propertyChanged: OnSelectedItemChanged);
public BindablePicker()
{


+ 86
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/CartButton.xaml View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<ContentView
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="eShopOnContainers.Core.Controls.CartButton">
<ContentView.Resources>
<ResourceDictionary>
<Style x:Key="AddButtonStyle"
TargetType="{x:Type Grid}">
<Setter Property="HeightRequest"
Value="42" />
<Setter Property="WidthRequest"
Value="42" />
<Setter Property="HorizontalOptions"
Value="Center" />
<Setter Property="VerticalOptions"
Value="End" />
<Setter Property="Margin"
Value="0, 0, 0, 24" />
</Style>
<Style x:Key="AddBackgroundImageStyle"
TargetType="{x:Type Image}">
<Setter Property="HorizontalOptions"
Value="Center" />
<Setter Property="VerticalOptions"
Value="Center" />
<Setter Property="HeightRequest"
Value="128" />
<Setter Property="WidthRequest"
Value="128" />
</Style>
<Style x:Key="AddImageStyle"
TargetType="{x:Type Image}">
<Setter Property="HeightRequest"
Value="24" />
<Setter Property="WidthRequest"
Value="24" />
</Style>
</ResourceDictionary>
</ContentView.Resources>
<ContentView.Content>
<Grid>
<!-- IOS & ANDROID -->
<Grid
Style="{StaticResource AddButtonStyle}">
<Grid.IsVisible>
<OnPlatform
x:TypeArguments="x:Boolean"
Android="True"
iOS="True"
WinPhone="False"/>
</Grid.IsVisible>
<BoxView
BackgroundColor="{StaticResource LightGreenColor}"
StyleClass="Circle" />
<Image
Aspect="AspectFit"
Source="product_add"
Style="{StaticResource AddImageStyle}">
<Image.Margin>
<OnPlatform
x:TypeArguments="Thickness"
Android="5, 12, 12, 12"
iOS="6, 12, 12, 12"/>
</Image.Margin>
</Image>
</Grid>
<!-- UWP -->
<Grid>
<Image
Source="Assets/circle_button_background.png"
Aspect="AspectFit"
Style="{StaticResource AddBackgroundImageStyle}" />
<Image
Aspect="AspectFit"
Source="Assets\product_add.png"
Style="{StaticResource AddImageStyle}"
Margin="12" />
</Grid>
</Grid>
</ContentView.Content>
</ContentView>

+ 12
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/CartButton.xaml.cs View File

@ -0,0 +1,12 @@
using Xamarin.Forms;
namespace eShopOnContainers.Core.Controls
{
public partial class CartButton : ContentView
{
public CartButton()
{
InitializeComponent();
}
}
}

+ 25
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Controls/CustomSwitch.cs View File

@ -0,0 +1,25 @@
using Xamarin.Forms;
namespace eShopOnContainers.Core.Controls
{
public class CustomSwitch : Switch
{
public static readonly BindableProperty TextOnProperty = BindableProperty.Create("TextOn",
typeof(string), typeof(CustomSwitch), string.Empty);
public static readonly BindableProperty TextOffProperty = BindableProperty.Create("TextOff",
typeof(string), typeof(CustomSwitch), string.Empty);
public string TextOn
{
get { return (string)this.GetValue(TextOnProperty); }
set { this.SetValue(TextOnProperty, value); }
}
public string TextOff
{
get { return (string)this.GetValue(TextOffProperty); }
set { this.SetValue(TextOffProperty, value); }
}
}
}

+ 1
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Effects/LineColorEffect.cs View File

@ -59,7 +59,7 @@ namespace eShopOnContainers.Core.Effects
class EntryLineColorEffect : RoutingEffect
{
public EntryLineColorEffect() : base("BikeSharing.EntryLineColorEffect")
public EntryLineColorEffect() : base("eShopOnContainers.EntryLineColorEffect")
{
}
}


+ 1
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Navigation/NavigationService.cs View File

@ -154,6 +154,7 @@ namespace eShopOnContainers.Services
_mappings.Add(typeof(MainViewModel), typeof(MainView));
_mappings.Add(typeof(OrderDetailViewModel), typeof(OrderDetailView));
_mappings.Add(typeof(ProfileViewModel), typeof(ProfileView));
_mappings.Add(typeof(SettingsViewModel), typeof(SettingsView));
}
}
}

+ 1
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs View File

@ -41,6 +41,7 @@ namespace eShopOnContainers.ViewModels.Base
_unityContainer.RegisterType<MainViewModel>();
_unityContainer.RegisterType<OrderDetailViewModel>();
_unityContainer.RegisterType<ProfileViewModel>();
_unityContainer.RegisterType<SettingsViewModel>();
}
public T Resolve<T>()


+ 10
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/MainViewModel.cs View File

@ -3,13 +3,18 @@ using eShopOnContainers.ViewModels.Base;
using eShopOnContainers.Core.Models.Navigation;
using Xamarin.Forms;
using eShopOnContainers.Core.ViewModels.Base;
using System.Windows.Input;
namespace eShopOnContainers.Core.ViewModels
{
public class MainViewModel : ViewModelBase
{
public ICommand SettingsCommand => new Command(Settings);
public override Task InitializeAsync(object navigationData)
{
IsBusy = true;
if (navigationData is TabParameter)
{
var tabIndex = ((TabParameter)navigationData).TabIndex;
@ -18,5 +23,10 @@ namespace eShopOnContainers.Core.ViewModels
return base.InitializeAsync(navigationData);
}
private void Settings()
{
NavigationService.NavigateToAsync<SettingsViewModel>();
}
}
}

+ 9
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/SettingsViewModel.cs View File

@ -0,0 +1,9 @@
using eShopOnContainers.ViewModels.Base;
namespace eShopOnContainers.Core.ViewModels
{
public class SettingsViewModel : ViewModelBase
{
}
}

+ 2
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CustomNavigationPage.xaml View File

@ -2,5 +2,7 @@
<NavigationPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="eShopOnContainers.Core.Views.CustomNavigationPage"
BarBackgroundColor="{StaticResource GreenColor}"
BarTextColor="{StaticResource WhiteColor}"
BackgroundColor="Transparent">
</NavigationPage>

+ 28
- 10
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/FiltersView.xaml View File

@ -21,7 +21,9 @@
<Setter Property="HorizontalOptions"
Value="Fill" />
<Setter Property="VerticalOptions"
Value="Fill" />
Value="Fill" />
<Setter Property="Margin"
Value="0, 2" />
</Style>
<Style x:Key="FilterButtonStyle"
@ -62,23 +64,39 @@
RowSpacing="0"
Margin="48, 24">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition Height="60" />
<RowDefinition Height="60" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<controls:BindablePicker
<controls:BindablePicker
Grid.Row="0"
Title="BRAND"
ItemsSource="{Binding Brands}"
Title="BRAND"
ItemsSource="{Binding Brands}"
SelectedItem="{Binding Brand, Mode=TwoWay}"
Style="{StaticResource FilterPickerStyle}"/>
<controls:BindablePicker
Style="{StaticResource FilterPickerStyle}">
<controls:BindablePicker.HeightRequest>
<OnPlatform
x:TypeArguments="x:Double"
Android="48"
iOS="48"
WinPhone="36"/>
</controls:BindablePicker.HeightRequest>
</controls:BindablePicker>
<controls:BindablePicker
Grid.Row="1"
Title="TYPE"
Title="TYPE"
ItemsSource="{Binding Types}"
SelectedItem="{Binding Type, Mode=TwoWay}"
Style="{StaticResource FilterPickerStyle}"/>
Style="{StaticResource FilterPickerStyle}">
<controls:BindablePicker.HeightRequest>
<OnPlatform
x:TypeArguments="x:Double"
Android="48"
iOS="48"
WinPhone="36"/>
</controls:BindablePicker.HeightRequest>
</controls:BindablePicker>
<Button
Grid.Row="2"
Text="Apply"


+ 17
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/LoginView.xaml View File

@ -124,13 +124,28 @@
Text="User name or email"
Style="{StaticResource HeaderLabelStyle}"/>
<Entry
Text="{Binding UserName.Value, Mode=TwoWay}"/>
Text="{Binding UserName.Value, Mode=TwoWay}">
<Entry.Style>
<OnPlatform x:TypeArguments="Style"
iOS="{StaticResource EntryStyle}"
Android="{StaticResource EntryStyle}"
WinPhone="{StaticResource UwpEntryStyle}"/>
</Entry.Style>
</Entry>
<Label
Text="Password"
Style="{StaticResource HeaderLabelStyle}"/>
<Entry
IsPassword="True"
Text="{Binding Password.Value, Mode=TwoWay}" />
Text="{Binding Password.Value, Mode=TwoWay}"
Style="{StaticResource EntryStyle}">
<Entry.Style>
<OnPlatform x:TypeArguments="Style"
iOS="{StaticResource EntryStyle}"
Android="{StaticResource EntryStyle}"
WinPhone="{StaticResource UwpEntryStyle}"/>
</Entry.Style>
</Entry>
</StackLayout>
<!-- LOGIN BUTTON -->
<Grid


+ 14
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml View File

@ -6,7 +6,21 @@
xmlns:controls="clr-namespace:eShopOnContainers.Core.Controls;assembly=eShopOnContainers.Core"
BarBackgroundColor="{StaticResource DarkGreenColor}"
BackgroundColor="{StaticResource BackgroundColor}"
BarTextColor="{StaticResource WhiteColor}"
Title="eShop on Containers">
<ContentPage.ToolbarItems>
<ToolbarItem
Command="{Binding SettingsCommand}"
Text="Settings">
<ToolbarItem.Icon>
<OnPlatform
x:TypeArguments="FileImageSource"
WinPhone=""
Android=""
iOS=""/>
</ToolbarItem.Icon>
</ToolbarItem>
</ContentPage.ToolbarItems>
<views:CatalogView
x:Name="HomeView">
<views:CatalogView.Icon>


+ 1
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/OrderDetailView.xaml View File

@ -195,7 +195,7 @@
Grid.Row="2"
Opacity="0">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListView
@ -203,7 +203,6 @@
ItemsSource="{Binding Order.OrderItems}"
HasUnevenRows="True"
SeparatorVisibility="None"
VerticalOptions="FillAndExpand"
CachingStrategy="RecycleElement">
<ListView.ItemTemplate>
<DataTemplate>


+ 86
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/SettingsView.xaml View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="eShopOnContainers.Core.Views.SettingsView"
xmlns:controls="clr-namespace:eShopOnContainers.Core.Controls;assembly=eShopOnContainers.Core"
Title="Settings">
<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="SettingsTitleStyle"
TargetType="{x:Type Label}">
<Setter Property="FontFamily"
Value="{StaticResource MontserratRegular}" />
<Setter Property="FontSize"
Value="{StaticResource MediumSize}" />
<Setter Property="HorizontalOptions"
Value="Start" />
<Setter Property="VerticalOptions"
Value="Center" />
<Setter Property="Margin"
Value="12, 0" />
</Style>
<Style x:Key="SettingsDescriptionStyle"
TargetType="{x:Type Label}"
BasedOn="{StaticResource SettingsTitleStyle}">
<Setter Property="FontSize"
Value="{StaticResource LittleSize}" />
</Style>
<Style x:Key="SettingsSwitchStyle"
TargetType="{x:Type controls:CustomSwitch}">
<Setter Property="VerticalOptions"
Value="Center" />
</Style>
</ResourceDictionary>
</ContentPage.Resources>
<Grid
BackgroundColor="{StaticResource BackgroundColor}">
<!-- SETTINGS -->
<ScrollView>
<StackLayout>
<!-- MOCK SERVICES -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1" />
<RowDefinition Height="Auto" />
<RowDefinition Height="1" />
</Grid.RowDefinitions>
<Grid
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2"
BackgroundColor="Gray"/>
<StackLayout
Grid.Column="0"
Grid.Row="1">
<Label
Text="Use Mock Services"
TextColor="{StaticResource GreenColor}"
Style="{StaticResource SettingsTitleStyle}"/>
<Label
Text="Mock Services are simulated objects that mimic the behavior of real services in controlled ways"
Style="{StaticResource SettingsDescriptionStyle}"/>
</StackLayout>
<controls:CustomSwitch
TextOn="Mock"
TextOff="Azure"
Grid.Column="1"
Grid.Row="1"
Style="{StaticResource SettingsSwitchStyle}"/>
<Grid
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="2"
BackgroundColor="Gray"/>
</Grid>
</StackLayout>
</ScrollView>
</Grid>
</ContentPage>

+ 18
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/SettingsView.xaml.cs View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace eShopOnContainers.Core.Views
{
public partial class SettingsView : ContentPage
{
public SettingsView()
{
InitializeComponent();
}
}
}

+ 1
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/OrderItemTemplate.xaml View File

@ -57,6 +57,7 @@
</ContentView.Resources>
<ContentView.Content>
<Grid
HeightRequest="120"
BackgroundColor="{StaticResource BackgroundColor}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />


+ 4
- 21
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/ProductTemplate.xaml View File

@ -3,6 +3,7 @@
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ffimageloading="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"
xmlns:controls="clr-namespace:eShopOnContainers.Core.Controls;assembly=eShopOnContainers.Core"
x:Class="eShopOnContainers.Core.Views.Templates.ProductTemplate">
<ContentView.Resources>
<ResourceDictionary>
@ -80,27 +81,9 @@
Grid.Row="0"
Grid.RowSpan="2"
Style="{StaticResource AddButtonStyle}">
<BoxView
BackgroundColor="{StaticResource LightGreenColor}"
StyleClass="Circle"/>
<Image
Aspect="AspectFit"
Style="{StaticResource AddImageStyle}">
<Image.Margin>
<OnPlatform
x:TypeArguments="Thickness"
Android="5, 12, 12, 12"
iOS="6, 12, 12, 12"
WinPhone="8, 12, 12, 12"/>
</Image.Margin>
<Image.Source>
<OnPlatform
x:TypeArguments="ImageSource"
Android="product_add"
iOS="product_add"
WinPhone="Assets\product_add.png"/>
</Image.Source>
</Image>
<controls:CartButton>
</controls:CartButton>
</Grid>
<Label
Grid.Row="1"


+ 20
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj View File

@ -45,6 +45,10 @@
<Compile Include="Behaviors\Base\BindableBehavior.cs" />
<Compile Include="Behaviors\EventToCommandBehavior.cs" />
<Compile Include="Controls\BindablePicker.cs" />
<Compile Include="Controls\CartButton.xaml.cs">
<DependentUpon>CartButton.xaml</DependentUpon>
</Compile>
<Compile Include="Controls\CustomSwitch.cs" />
<Compile Include="Controls\CustomTabbedPage.cs" />
<Compile Include="Converters\CountToBoolConverter.cs" />
<Compile Include="Converters\DatetimeConverter.cs" />
@ -96,6 +100,7 @@
<Compile Include="ViewModels\MainViewModel.cs" />
<Compile Include="ViewModels\OrderDetailViewModel.cs" />
<Compile Include="ViewModels\ProfileViewModel.cs" />
<Compile Include="ViewModels\SettingsViewModel.cs" />
<Compile Include="Views\CartView.xaml.cs">
<DependentUpon>CartView.xaml</DependentUpon>
</Compile>
@ -123,6 +128,9 @@
<Compile Include="Views\ProfileView.xaml.cs">
<DependentUpon>ProfileView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\SettingsView.xaml.cs">
<DependentUpon>SettingsView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\Templates\CartOrderItemTemplate.xaml.cs">
<DependentUpon>CartOrderItemTemplate.xaml</DependentUpon>
</Compile>
@ -294,6 +302,18 @@
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Controls\CartButton.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Views\SettingsView.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">


+ 58
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Renderers/CustomSwitchRenderer.cs View File

@ -0,0 +1,58 @@
using System;
using Xamarin.Forms.Platform.Android;
using Xamarin.Forms;
using eShopOnContainers.Core.Controls;
namespace eShopOnContainers.Droid.Renderers
{
public class CustomSwitchRenderer : ViewRenderer<CustomSwitch, Android.Widget.Switch>
{
protected override void OnElementChanged(ElementChangedEventArgs<CustomSwitch> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
this.Element.Toggled -= ElementToggled;
return;
}
if (this.Element == null)
{
return;
}
var switchControl = new Android.Widget.Switch(Forms.Context)
{
TextOn = this.Element.TextOn,
TextOff = this.Element.TextOff
};
switchControl.CheckedChange += ControlValueChanged;
this.Element.Toggled += ElementToggled;
this.SetNativeControl(switchControl);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
this.Control.CheckedChange -= this.ControlValueChanged;
this.Element.Toggled -= ElementToggled;
}
base.Dispose(disposing);
}
private void ElementToggled(object sender, ToggledEventArgs e)
{
this.Control.Checked = this.Element.IsToggled;
}
private void ControlValueChanged(object sender, EventArgs e)
{
this.Element.IsToggled = this.Control.Checked;
}
}
}

+ 1
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj View File

@ -203,6 +203,7 @@
<Compile Include="Effects\EntryLineColorEffect.cs" />
<Compile Include="Extensions\ViewExtensions.cs" />
<Compile Include="Renderers\BadgeView.cs" />
<Compile Include="Renderers\CustomSwitchRenderer.cs" />
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" />
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" />
<Compile Include="Resources\Resource.Designer.cs" />


+ 48
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.Windows/App.xaml View File

@ -6,9 +6,9 @@
RequestedTheme="Light">
<Application.Resources>
<ResourceDictionary>
<Color x:Key="NativeAccentColor">#00A69C</Color>
<Style x:Key="FormTextBoxStyle" TargetType="TextBox">
<Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" />
<Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" />
@ -239,6 +239,52 @@
<Style TargetType="PivotItem">
<Setter Property="Margin" Value="0" />
</Style>
<Style TargetType="ListViewItem">
<Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
<Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" />
<Setter Property="TabNavigation" Value="Local"/>
<Setter Property="IsHoldingEnabled" Value="True"/>
<Setter Property="Padding" Value="12,0,12,0"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="MinWidth" Value="{ThemeResource ListViewItemMinWidth}"/>
<Setter Property="MinHeight" Value="{ThemeResource ListViewItemMinHeight}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<ListViewItemPresenter
ContentTransitions="{TemplateBinding ContentTransitions}"
SelectionCheckMarkVisualEnabled="True"
CheckBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
CheckBoxBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}"
DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}"
FocusBorderBrush="{ThemeResource SystemControlForegroundAltHighBrush}"
FocusSecondaryBorderBrush="{ThemeResource SystemControlForegroundBaseHighBrush}"
PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"
PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
PointerOverForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}"
SelectedBackground="Red"
SelectedForeground="Transparent"
SelectedPointerOverBackground="Transparent"
PressedBackground="Transparent"
SelectedPressedBackground="Transparent"
DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}"
ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
ContentMargin="{TemplateBinding Padding}"
CheckMode="Inline"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
</Application.Resources>


BIN
src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Assets/circle_button_background.png View File

Before After
Width: 128  |  Height: 128  |  Size: 2.9 KiB

+ 2
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Effects/EntryLineColorEffect.cs View File

@ -10,6 +10,7 @@ using Windows.UI.Xaml.Controls;
using eShopOnContainers.Windows.Effects;
using eShopOnContainers.Core.Effects;
[assembly: ResolutionGroupName("eShopOnContainers")]
[assembly: ExportEffect(typeof(EntryLineColorEffect), "EntryLineColorEffect")]
namespace eShopOnContainers.Windows.Effects
{
@ -51,7 +52,7 @@ namespace eShopOnContainers.Windows.Effects
var lineColor = XamarinFormColorToWindowsColor(LineColorEffect.GetLineColor(Element));
control.BorderBrush = new Media.SolidColorBrush(lineColor);
var style = App.Current.Resources["FormTextBoxStyle"] as Xaml.Style;
var style = Xaml.Application.Current.Resources["FormTextBoxStyle"] as Xaml.Style;
control.Style = style;
}
}


+ 60
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/CustomSwitchRenderer.cs View File

@ -0,0 +1,60 @@
using eShopOnContainers.Core.Controls;
using eShopOnContainers.Windows.Renderers;
using Windows.UI.Xaml.Controls;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;
[assembly: ExportRenderer(typeof(CustomSwitch), typeof(CustomSwitchRenderer))]
namespace eShopOnContainers.Windows.Renderers
{
public class CustomSwitchRenderer : ViewRenderer<CustomSwitch, ToggleSwitch>
{
protected override void OnElementChanged(ElementChangedEventArgs<CustomSwitch> e)
{
base.OnElementChanged(e);
if (this.Element == null)
{
return;
}
if (e.OldElement != null)
{
this.Element.Toggled -= ElementToggled;
return;
}
var toggleSwitchControl = new ToggleSwitch
{
OnContent = this.Element.TextOn,
OffContent = this.Element.TextOff
};
toggleSwitchControl.Toggled += ControlToggled;
this.Element.Toggled += ElementToggled;
this.SetNativeControl(toggleSwitchControl);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
this.Control.Toggled -= this.ControlToggled;
this.Element.Toggled -= ElementToggled;
}
base.Dispose(disposing);
}
private void ElementToggled(object sender, ToggledEventArgs e)
{
this.Control.IsOn = this.Element.IsToggled;
}
private void ControlToggled(object sender, global::Windows.UI.Xaml.RoutedEventArgs e)
{
this.Element.IsToggled = this.Control.IsOn;
}
}
}

+ 0
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Windows/Renderers/CustomTabbedPageRenderer.cs View File

@ -9,6 +9,5 @@ namespace eShopOnContainers.Windows.Renderers
[Preserve]
public class CustomTabbedPageRenderer : TabbedPageRenderer
{
}
}

+ 2
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Windows/eShopOnContainers.Windows.csproj View File

@ -110,6 +110,7 @@
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Renderers\CustomSwitchRenderer.cs" />
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" />
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" />
</ItemGroup>
@ -120,6 +121,7 @@
<None Include="Windows_TemporaryKey.pfx" />
</ItemGroup>
<ItemGroup>
<Content Include="Assets\circle_button_background.png" />
<Content Include="Assets\fake_product_01.png" />
<Content Include="Assets\fake_product_02.png" />
<Content Include="Assets\fake_product_03.png" />


+ 1
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Effects/EntryLineColorEffect.cs View File

@ -9,6 +9,7 @@ using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ResolutionGroupName("eShopOnContainers")]
[assembly: ExportEffect(typeof(EntryLineColorEffect), "EntryLineColorEffect")]
namespace eShopOnContainers.iOS.Effects
{


+ 56
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Renderers/CustomSwitchRenderer.cs View File

@ -0,0 +1,56 @@
using eShopOnContainers.Core.Controls;
using eShopOnContainers.iOS.Renderers;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(CustomSwitch), typeof(CustomSwitchRenderer))]
namespace eShopOnContainers.iOS.Renderers
{
public class CustomSwitchRenderer : ViewRenderer<CustomSwitch, UISwitch>
{
protected override void OnElementChanged(ElementChangedEventArgs<CustomSwitch> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
this.Element.Toggled -= ElementToggled;
return;
}
if (this.Element == null)
{
return;
}
var uiSwitchControl = new UISwitch();
uiSwitchControl.ValueChanged += ControlValueChanged;
this.Element.Toggled += ElementToggled;
this.SetNativeControl(uiSwitchControl);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
this.Control.ValueChanged -= this.ControlValueChanged;
this.Element.Toggled -= ElementToggled;
}
base.Dispose(disposing);
}
private void ElementToggled(object sender, ToggledEventArgs e)
{
this.Control.On = Element.IsToggled;
}
private void ControlValueChanged(object sender, System.EventArgs e)
{
this.Element.IsToggled = this.Control.On;
}
}
}

+ 102
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Renderers/CustomTabbedPageRenderer.cs View File

@ -1,10 +1,110 @@
using Foundation;
using eShopOnContainers.Core.Controls;
using eShopOnContainers.iOS.Renderers;
using Foundation;
using System.Threading.Tasks;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))]
namespace eShopOnContainers.iOS.Renderers
{
[Preserve]
public class CustomTabbedPageRenderer : TabbedRenderer
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
for (var i = 0; i < TabBar.Items.Length; i++)
{
AddTabBadge(i);
}
Element.ChildAdded += OnTabAdded;
Element.ChildRemoved += OnTabRemoved;
}
private void AddTabBadge(int tabIndex)
{
var element = Tabbed.Children[tabIndex];
element.PropertyChanged += OnTabbedPagePropertyChanged;
if (TabBar.Items.Length > tabIndex)
{
var tabBarItem = TabBar.Items[tabIndex];
UpdateTabBadgeText(tabBarItem, element);
var tabColor = CustomTabbedPage.GetBadgeColor(element);
if (tabColor != Color.Default)
{
tabBarItem.BadgeColor = tabColor.ToUIColor();
}
}
}
private void UpdateTabBadgeText(UITabBarItem tabBarItem, Element element)
{
var text = CustomTabbedPage.GetBadgeText(element);
tabBarItem.BadgeValue = string.IsNullOrEmpty(text) ? null : text;
}
private void OnTabbedPagePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
var page = sender as Page;
if (page == null)
return;
if (e.PropertyName == CustomTabbedPage.BadgeTextProperty.PropertyName)
{
var tabIndex = Tabbed.Children.IndexOf(page);
if (tabIndex < TabBar.Items.Length)
UpdateTabBadgeText(TabBar.Items[tabIndex], page);
return;
}
if (e.PropertyName == CustomTabbedPage.BadgeColorProperty.PropertyName)
{
var tabIndex = Tabbed.Children.IndexOf(page);
if (tabIndex < TabBar.Items.Length)
TabBar.Items[tabIndex].BadgeColor = CustomTabbedPage.GetBadgeColor(page).ToUIColor();
}
}
private async void OnTabAdded(object sender, ElementEventArgs e)
{
await Task.Delay(10);
var page = e.Element as Page;
if (page == null)
return;
var tabIndex = Tabbed.Children.IndexOf(page);
AddTabBadge(tabIndex);
}
private void OnTabRemoved(object sender, ElementEventArgs e)
{
e.Element.PropertyChanged -= OnTabbedPagePropertyChanged;
}
protected override void Dispose(bool disposing)
{
if (Tabbed != null)
{
foreach (var tab in Tabbed.Children)
{
tab.PropertyChanged -= OnTabbedPagePropertyChanged;
}
Tabbed.ChildAdded -= OnTabAdded;
Tabbed.ChildRemoved -= OnTabRemoved;
}
base.Dispose(disposing);
}
}
}
}

+ 68
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Renderers/SlideDownMenuPageRenderer.cs View File

@ -0,0 +1,68 @@
using System;
using CoreGraphics;
using eShopOnContainers.Core.Views;
using eShopOnContainers.iOS;
using SlideOverKit.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(CatalogView), typeof(SlideDownMenuPageRenderer))]
namespace eShopOnContainers.iOS
{
public class SlideDownMenuPageRenderer : PageRenderer, ISlideOverKitPageRendereriOS
{
public Action<bool> ViewDidAppearEvent { get; set; }
public Action<VisualElementChangedEventArgs> OnElementChangedEvent { get; set; }
public Action ViewDidLayoutSubviewsEvent { get; set; }
public Action<bool> ViewDidDisappearEvent { get; set; }
public Action<CGSize, IUIViewControllerTransitionCoordinator> ViewWillTransitionToSizeEvent { get; set; }
public SlideDownMenuPageRenderer()
{
new SlideOverKitiOSHandler().Init(this);
}
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
if (OnElementChangedEvent != null)
OnElementChangedEvent(e);
}
public override void ViewDidLayoutSubviews()
{
base.ViewDidLayoutSubviews();
if (ViewDidLayoutSubviewsEvent != null)
ViewDidLayoutSubviewsEvent();
}
public override void ViewDidAppear(bool animated)
{
base.ViewDidAppear(animated);
if (ViewDidAppearEvent != null)
ViewDidAppearEvent(animated);
}
public override void ViewDidDisappear(bool animated)
{
base.ViewDidDisappear(animated);
if (ViewDidDisappearEvent != null)
ViewDidDisappearEvent(animated);
}
public override void ViewWillTransitionToSize(CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
{
base.ViewWillTransitionToSize(toSize, coordinator);
if (ViewWillTransitionToSizeEvent != null)
ViewWillTransitionToSizeEvent(toSize, coordinator);
}
}
}

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default-568h@2x.png View File

Before After
Width: 640  |  Height: 1136  |  Size: 8.7 KiB Width: 640  |  Height: 1136  |  Size: 88 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default-Portrait.png View File

Before After
Width: 768  |  Height: 1004  |  Size: 10 KiB Width: 768  |  Height: 1024  |  Size: 121 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default-Portrait@2x.png View File

Before After
Width: 1536  |  Height: 2008  |  Size: 34 KiB Width: 1536  |  Height: 2008  |  Size: 276 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default.png View File

Before After
Width: 320  |  Height: 480  |  Size: 7.1 KiB Width: 320  |  Height: 480  |  Size: 36 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Default@2x.png View File

Before After
Width: 640  |  Height: 960  |  Size: 8.2 KiB Width: 640  |  Height: 960  |  Size: 97 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-76.png View File

Before After
Width: 76  |  Height: 76  |  Size: 1.2 KiB Width: 76  |  Height: 76  |  Size: 4.3 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-76@2x.png View File

Before After
Width: 152  |  Height: 152  |  Size: 2.2 KiB Width: 152  |  Height: 152  |  Size: 9.6 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-Small.png View File

Before After
Width: 29  |  Height: 29  |  Size: 1.1 KiB Width: 29  |  Height: 29  |  Size: 1.5 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-Small@2x.png View File

Before After
Width: 58  |  Height: 58  |  Size: 955 B Width: 58  |  Height: 58  |  Size: 3.3 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/Icon-Small@3x.png View File

Before After
Width: 87  |  Height: 87  |  Size: 7.1 KiB Width: 87  |  Height: 87  |  Size: 5.3 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_cart.png View File

Before After
Width: 17  |  Height: 15  |  Size: 1.2 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_cart@2x.png View File

Before After
Width: 34  |  Height: 29  |  Size: 1.4 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_cart@3x.png View File

Before After
Width: 51  |  Height: 45  |  Size: 2.0 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_filter.png View File

Before After
Width: 12  |  Height: 11  |  Size: 1.0 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_filter@2x.png View File

Before After
Width: 23  |  Height: 21  |  Size: 1023 B

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_filter@3x.png View File

Before After
Width: 35  |  Height: 32  |  Size: 1.3 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_profile.png View File

Before After
Width: 13  |  Height: 13  |  Size: 1.1 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_profile@2x.png View File

Before After
Width: 26  |  Height: 26  |  Size: 1.4 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/menu_profile@3x.png View File

Before After
Width: 39  |  Height: 39  |  Size: 1.7 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/product_add.png View File

Before After
Width: 10  |  Height: 10  |  Size: 1009 B

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/product_add@2x.png View File

Before After
Width: 20  |  Height: 20  |  Size: 1.1 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/Resources/product_add@3x.png View File

Before After
Width: 30  |  Height: 30  |  Size: 1.1 KiB

+ 52
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj View File

@ -24,8 +24,20 @@
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<MtouchArch>i386, x86_64</MtouchArch>
<MtouchLink>None</MtouchLink>
<MtouchDebug>true</MtouchDebug>
<MtouchLink>SdkOnly</MtouchLink>
<MtouchDebug>True</MtouchDebug>
<MtouchSdkVersion>10.1</MtouchSdkVersion>
<MtouchProfiling>False</MtouchProfiling>
<MtouchFastDev>False</MtouchFastDev>
<MtouchUseLlvm>False</MtouchUseLlvm>
<MtouchUseThumb>False</MtouchUseThumb>
<MtouchEnableBitcode>False</MtouchEnableBitcode>
<MtouchUseSGen>False</MtouchUseSGen>
<MtouchUseRefCounting>False</MtouchUseRefCounting>
<OptimizePNGs>True</OptimizePNGs>
<MtouchTlsProvider>Default</MtouchTlsProvider>
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
<MtouchFloat32>False</MtouchFloat32>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
<DebugType>none</DebugType>
@ -100,7 +112,9 @@
<BundleResource Include="..\CommonResources\Fonts\SourceSansPro-Regular.ttf">
<Link>Resources\fonts\SourceSansPro-Regular.ttf</Link>
</BundleResource>
<Compile Include="Renderers\CustomSwitchRenderer.cs" />
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" />
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" />
<None Include="app.config" />
<None Include="Entitlements.plist" />
<None Include="Info.plist" />
@ -246,6 +260,42 @@
<ItemGroup>
<BundleResource Include="Resources\fake_product_05.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_cart.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_cart%402x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_cart%403x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_filter.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_filter%402x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_filter%403x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_profile.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_profile%402x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\menu_profile%403x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\product_add.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\product_add%402x.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\product_add%403x.png" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>


Loading…
Cancel
Save