Browse Source

Changes in CustomTabbedPageRenderer (Droid)

pull/49/merge
Javier Suárez Ruiz 8 years ago
parent
commit
b8d3e2de18
22 changed files with 221 additions and 82 deletions
  1. +3
    -3
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Navigation/NavigationService.cs
  2. +1
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs
  3. +1
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CartViewModel.cs
  4. +2
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CatalogViewModel.cs
  5. +3
    -3
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CatalogView.xaml
  6. +2
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CatalogView.xaml.cs
  7. +8
    -8
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml
  8. +1
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml.cs
  9. +4
    -4
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj
  10. +9
    -4
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Activities/MainActivity.cs
  11. +86
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Renderers/CustomTabbedPageRenderer.cs
  12. +1
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Renderers/SlideDownMenuPageRenderer.cs
  13. +40
    -28
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/Resource.Designer.cs
  14. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/drawable-xxxhdpi/menu_cart.png
  15. BIN
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/drawable-xxxhdpi/user_profile.png
  16. +14
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/TabLayout.axml
  17. +0
    -11
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/Tabbar.axml
  18. +12
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/Tabs.axml
  19. +12
    -9
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/Toolbar.axml
  20. +3
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/colors.xml
  21. +1
    -0
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/styles.xml
  22. +18
    -2
      src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj

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

@ -54,9 +54,9 @@ namespace eShopOnContainers.Services
public async Task NavigateBackAsync() public async Task NavigateBackAsync()
{ {
if (CurrentApplication.MainPage is HomeView)
if (CurrentApplication.MainPage is CatalogView)
{ {
var mainPage = CurrentApplication.MainPage as HomeView;
var mainPage = CurrentApplication.MainPage as CatalogView;
await mainPage.Navigation.PopAsync(); await mainPage.Navigation.PopAsync();
} }
else if (CurrentApplication.MainPage != null) else if (CurrentApplication.MainPage != null)
@ -148,7 +148,7 @@ namespace eShopOnContainers.Services
private void CreatePageViewModelMappings() private void CreatePageViewModelMappings()
{ {
_mappings.Add(typeof(CartViewModel), typeof(CartView)); _mappings.Add(typeof(CartViewModel), typeof(CartView));
_mappings.Add(typeof(ProductsViewModel), typeof(HomeView));
_mappings.Add(typeof(CatalogViewModel), typeof(CatalogView));
_mappings.Add(typeof(LoginViewModel), typeof(LoginView)); _mappings.Add(typeof(LoginViewModel), typeof(LoginView));
_mappings.Add(typeof(MainViewModel), typeof(MainView)); _mappings.Add(typeof(MainViewModel), typeof(MainView));
_mappings.Add(typeof(OrderDetailViewModel), typeof(OrderDetailView)); _mappings.Add(typeof(OrderDetailViewModel), typeof(OrderDetailView));


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

@ -33,7 +33,7 @@ namespace eShopOnContainers.ViewModels.Base
// view models // view models
_unityContainer.RegisterType<CartViewModel>(); _unityContainer.RegisterType<CartViewModel>();
_unityContainer.RegisterType<ProductsViewModel>();
_unityContainer.RegisterType<CatalogViewModel>();
_unityContainer.RegisterType<LoginViewModel>(); _unityContainer.RegisterType<LoginViewModel>();
_unityContainer.RegisterType<MainViewModel>(); _unityContainer.RegisterType<MainViewModel>();
_unityContainer.RegisterType<OrderDetailViewModel>(); _unityContainer.RegisterType<OrderDetailViewModel>();


+ 1
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CartViewModel.cs View File

@ -41,7 +41,7 @@ namespace eShopOnContainers.Core.ViewModels
public override async Task InitializeAsync(object navigationData) public override async Task InitializeAsync(object navigationData)
{ {
MessagingCenter.Subscribe<ProductsViewModel>(this, MessengerKeys.AddProduct, (sender) =>
MessagingCenter.Subscribe<CatalogViewModel>(this, MessengerKeys.AddProduct, (sender) =>
{ {
BadgeCount++; BadgeCount++;
}); });


src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/pRODUCTSViewModel.cs → src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CatalogViewModel.cs View File

@ -8,14 +8,14 @@ using eShopOnContainers.Core.Services.Catalog;
namespace eShopOnContainers.Core.ViewModels namespace eShopOnContainers.Core.ViewModels
{ {
public class ProductsViewModel : ViewModelBase
public class CatalogViewModel : ViewModelBase
{ {
private ObservableCollection<CatalogItem> _products; private ObservableCollection<CatalogItem> _products;
private CatalogItem _product; private CatalogItem _product;
private ICatalogService _productsService; private ICatalogService _productsService;
public ProductsViewModel(ICatalogService productsService)
public CatalogViewModel(ICatalogService productsService)
{ {
_productsService = productsService; _productsService = productsService;
} }

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/HomeView.xaml → src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CatalogView.xaml View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="eShopOnContainers.Core.Views.HomeView"
x:Class="eShopOnContainers.Core.Views.CatalogView"
xmlns:templates="clr-namespace:eShopOnContainers.Core.Views.Templates;assembly=eShopOnContainers.Core" xmlns:templates="clr-namespace:eShopOnContainers.Core.Views.Templates;assembly=eShopOnContainers.Core"
xmlns:views="clr-namespace:eShopOnContainers.Core.Views;assembly=eShopOnContainers.Core" xmlns:views="clr-namespace:eShopOnContainers.Core.Views;assembly=eShopOnContainers.Core"
xmlns:animations="clr-namespace:eShopOnContainers.Core.Animations;assembly=eShopOnContainers.Core" xmlns:animations="clr-namespace:eShopOnContainers.Core.Animations;assembly=eShopOnContainers.Core"
xmlns:triggers="clr-namespace:eShopOnContainers.Core.Triggers;assembly=eShopOnContainers.Core" xmlns:triggers="clr-namespace:eShopOnContainers.Core.Triggers;assembly=eShopOnContainers.Core"
Title="Products">
Title="Catalog">
<ContentPage.Resources> <ContentPage.Resources>
<ResourceDictionary> <ResourceDictionary>
@ -68,7 +68,7 @@
NumberOfTapsRequired="1" /> NumberOfTapsRequired="1" />
</Grid.GestureRecognizers> </Grid.GestureRecognizers>
</Grid> </Grid>
<!-- PRODUCTS -->
<!-- CATALOG -->
<ListView <ListView
x:Name="Products" x:Name="Products"
Grid.Row="1" Grid.Row="1"

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/HomeView.xaml.cs → src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CatalogView.xaml.cs View File

@ -4,9 +4,9 @@ using Xamarin.Forms;
namespace eShopOnContainers.Core.Views namespace eShopOnContainers.Core.Views
{ {
public partial class HomeView : ContentPage, IMenuContainerPage
public partial class CatalogView : ContentPage, IMenuContainerPage
{ {
public HomeView()
public CatalogView()
{ {
InitializeComponent(); InitializeComponent();

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

@ -7,35 +7,35 @@
BarBackgroundColor="{StaticResource DarkGreenColor}" BarBackgroundColor="{StaticResource DarkGreenColor}"
BackgroundColor="{StaticResource BackgroundColor}" BackgroundColor="{StaticResource BackgroundColor}"
Title="eShop on Containers"> Title="eShop on Containers">
<views:HomeView
<views:CatalogView
x:Name="HomeView"> x:Name="HomeView">
<views:HomeView.Icon>
<views:CatalogView.Icon>
<OnPlatform <OnPlatform
x:TypeArguments="FileImageSource" x:TypeArguments="FileImageSource"
Android="menu_filter" Android="menu_filter"
iOS="menu_filter" iOS="menu_filter"
WinPhone="Assets\menu_filter.png"/> WinPhone="Assets\menu_filter.png"/>
</views:HomeView.Icon>
</views:HomeView>
</views:CatalogView.Icon>
</views:CatalogView>
<views:ProfileView <views:ProfileView
x:Name="ProfileView"> x:Name="ProfileView">
<views:HomeView.Icon>
<views:ProfileView.Icon>
<OnPlatform <OnPlatform
x:TypeArguments="FileImageSource" x:TypeArguments="FileImageSource"
Android="menu_profile" Android="menu_profile"
iOS="menu_profile" iOS="menu_profile"
WinPhone="Assets\menu_profile.png"/> WinPhone="Assets\menu_profile.png"/>
</views:HomeView.Icon>
</views:ProfileView.Icon>
</views:ProfileView> </views:ProfileView>
<views:CartView <views:CartView
x:Name="CartView" x:Name="CartView"
controls:CustomTabbedPage.BadgeText="{Binding BadgeCount}"> controls:CustomTabbedPage.BadgeText="{Binding BadgeCount}">
<views:HomeView.Icon>
<views:CartView.Icon>
<OnPlatform <OnPlatform
x:TypeArguments="FileImageSource" x:TypeArguments="FileImageSource"
Android="menu_cart" Android="menu_cart"
iOS="menu_cart" iOS="menu_cart"
WinPhone="Assets\menu_cart.png"/> WinPhone="Assets\menu_cart.png"/>
</views:HomeView.Icon>
</views:CartView.Icon>
</views:CartView> </views:CartView>
</TabbedPage> </TabbedPage>

+ 1
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml.cs View File

@ -15,7 +15,7 @@ namespace eShopOnContainers.Core.Views
{ {
base.OnAppearing(); base.OnAppearing();
var homeViewModel = ViewModelLocator.Instance.Resolve<ProductsViewModel>();
var homeViewModel = ViewModelLocator.Instance.Resolve<CatalogViewModel>();
await homeViewModel.InitializeAsync(null); await homeViewModel.InitializeAsync(null);
HomeView.BindingContext = homeViewModel; HomeView.BindingContext = homeViewModel;


+ 4
- 4
src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj View File

@ -76,7 +76,7 @@
<Compile Include="ViewModels\Base\ViewModelBase.cs" /> <Compile Include="ViewModels\Base\ViewModelBase.cs" />
<Compile Include="ViewModels\Base\ViewModelLocator.cs" /> <Compile Include="ViewModels\Base\ViewModelLocator.cs" />
<Compile Include="ViewModels\CartViewModel.cs" /> <Compile Include="ViewModels\CartViewModel.cs" />
<Compile Include="ViewModels\ProductsViewModel.cs" />
<Compile Include="ViewModels\CatalogViewModel.cs" />
<Compile Include="ViewModels\LoginViewModel.cs" /> <Compile Include="ViewModels\LoginViewModel.cs" />
<Compile Include="ViewModels\MainViewModel.cs" /> <Compile Include="ViewModels\MainViewModel.cs" />
<Compile Include="ViewModels\OrderDetailViewModel.cs" /> <Compile Include="ViewModels\OrderDetailViewModel.cs" />
@ -90,8 +90,8 @@
<Compile Include="Views\FiltersView.xaml.cs"> <Compile Include="Views\FiltersView.xaml.cs">
<DependentUpon>FiltersView.xaml</DependentUpon> <DependentUpon>FiltersView.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Views\HomeView.xaml.cs">
<DependentUpon>HomeView.xaml</DependentUpon>
<Compile Include="Views\CatalogView.xaml.cs">
<DependentUpon>CatalogView.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Views\LoginView.xaml.cs"> <Compile Include="Views\LoginView.xaml.cs">
<DependentUpon>LoginView.xaml</DependentUpon> <DependentUpon>LoginView.xaml</DependentUpon>
@ -190,7 +190,7 @@
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Views\HomeView.xaml">
<EmbeddedResource Include="Views\CatalogView.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator> <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>


+ 9
- 4
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Activities/MainActivity.cs View File

@ -1,8 +1,8 @@
using Android.App; using Android.App;
using Android.OS; using Android.OS;
using Android.Content.PM; using Android.Content.PM;
using Android.Views; using Android.Views;
using Xamarin.Forms.Platform.Android;
namespace eShopOnContainers.Droid.Activities namespace eShopOnContainers.Droid.Activities
{ {
@ -12,15 +12,20 @@ namespace eShopOnContainers.Droid.Activities
Theme = "@style/MainTheme", Theme = "@style/MainTheme",
MainLauncher = true, MainLauncher = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
public class MainActivity : FormsAppCompatActivity
{ {
protected override void OnCreate(Bundle bundle) protected override void OnCreate(Bundle bundle)
{ {
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
FormsAppCompatActivity.ToolbarResource = Resource.Layout.Toolbar;
FormsAppCompatActivity.TabLayoutResource = Resource.Layout.Tabs;
base.OnCreate(bundle); base.OnCreate(bundle);
SupportActionBar.SetDisplayShowHomeEnabled(true); // Show or hide the default home button
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
SupportActionBar.SetDisplayShowCustomEnabled(true); // Enable overriding the default toolbar layout
SupportActionBar.SetDisplayShowTitleEnabled(false);
global::Xamarin.Forms.Forms.Init(this, bundle); global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App()); LoadApplication(new App());


+ 86
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Renderers/CustomTabbedPageRenderer.cs View File

@ -10,6 +10,9 @@ using Xamarin.Forms.Platform.Android;
using eShopOnContainers.Droid.Extensions; using eShopOnContainers.Droid.Extensions;
using eShopOnContainers.Core.Controls; using eShopOnContainers.Core.Controls;
using eShopOnContainers.Droid.Renderers; using eShopOnContainers.Droid.Renderers;
using Android.Support.V4.View;
using Android.Graphics;
using static Android.Widget.ImageView;
[assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))] [assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))]
namespace eShopOnContainers.Droid.Renderers namespace eShopOnContainers.Droid.Renderers
@ -20,6 +23,9 @@ namespace eShopOnContainers.Droid.Renderers
protected readonly Dictionary<Element, BadgeView> BadgeViews = new Dictionary<Element, BadgeView>(); protected readonly Dictionary<Element, BadgeView> BadgeViews = new Dictionary<Element, BadgeView>();
private TabLayout _tabLayout; private TabLayout _tabLayout;
private TabLayout.SlidingTabStrip _tabStrip; private TabLayout.SlidingTabStrip _tabStrip;
private ViewPager _viewPager;
private TabbedPage _tabbedPage;
private bool _firstTime = true;
protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e) protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e)
{ {
@ -33,6 +39,32 @@ namespace eShopOnContainers.Droid.Renderers
return; return;
} }
_tabbedPage = e.NewElement as TabbedPage;
_viewPager = (ViewPager)GetChildAt(0);
_tabLayout.TabSelected += (s, a) =>
{
var page = _tabbedPage.Children[a.Tab.Position];
if (page is TabbedPage)
{
var tabPage = (TabbedPage)page;
SetTab(a.Tab, tabPage.Icon.File);
}
_viewPager.SetCurrentItem(a.Tab.Position, false);
};
_tabLayout.TabUnselected += (s, a) =>
{
var page = _tabbedPage.Children[a.Tab.Position];
if (page is TabbedPage)
{
SetTab(a.Tab, page.Icon.File);
}
};
_tabStrip = _tabLayout.FindChildOfType<TabLayout.SlidingTabStrip>(); _tabStrip = _tabLayout.FindChildOfType<TabLayout.SlidingTabStrip>();
for (var i = 0; i < _tabLayout.TabCount; i++) for (var i = 0; i < _tabLayout.TabCount; i++)
@ -44,6 +76,56 @@ namespace eShopOnContainers.Droid.Renderers
Element.ChildRemoved += OnTabRemoved; Element.ChildRemoved += OnTabRemoved;
} }
private void SetTab(TabLayout.Tab tab, string name)
{
try
{
int id = Resources.GetIdentifier(name, "drawable", Context.PackageName);
tab.CustomView.FindViewById<ImageView>(Resource.Id.tab_icon).SetImageResource(id);
tab.SetCustomView(Resource.Layout.TabLayout);
tab.SetIcon(null);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.StackTrace);
}
}
protected override void DispatchDraw(Canvas canvas)
{
base.DispatchDraw(canvas);
if (!_firstTime)
{
return;
}
for (int i = 0; i < _tabLayout.TabCount; i++)
{
var tab = _tabLayout.GetTabAt(i);
var page = _tabbedPage.Children[tab.Position];
if (page is TabbedPage)
{
var tabbedPage = (TabbedPage)page;
SetTab(tab, tabbedPage.Icon.File);
}
else
{
SetTab(tab, page.Icon.File);
}
if (!string.IsNullOrEmpty(_tabbedPage.Title))
{
tab.SetText(string.Empty);
}
}
_firstTime = false;
}
private void AddTabBadge(int tabIndex) private void AddTabBadge(int tabIndex)
{ {
var element = Element.Children[tabIndex]; var element = Element.Children[tabIndex];
@ -71,11 +153,12 @@ namespace eShopOnContainers.Droid.Renderers
// Set color if not default // Set color if not default
var tabColor = CustomTabbedPage.GetBadgeColor(element); var tabColor = CustomTabbedPage.GetBadgeColor(element);
if (tabColor != Color.Default)
if (tabColor != Xamarin.Forms.Color.Default)
{ {
badgeView.BadgeColor = tabColor.ToAndroid(); badgeView.BadgeColor = tabColor.ToAndroid();
} }
element.PropertyChanged += OnTabbedPagePropertyChanged; element.PropertyChanged += OnTabbedPagePropertyChanged;
} }
@ -114,6 +197,7 @@ namespace eShopOnContainers.Droid.Renderers
await Task.Delay(DeleayBeforeTabAdded); await Task.Delay(DeleayBeforeTabAdded);
var page = e.Element as Page; var page = e.Element as Page;
if (page == null) if (page == null)
return; return;


+ 1
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Renderers/SlideDownMenuPageRenderer.cs View File

@ -5,7 +5,7 @@ using System;
using Xamarin.Forms; using Xamarin.Forms;
using Xamarin.Forms.Platform.Android; using Xamarin.Forms.Platform.Android;
[assembly: ExportRenderer(typeof(HomeView), typeof(SlideDownMenuPageRenderer))]
[assembly: ExportRenderer(typeof(CatalogView), typeof(SlideDownMenuPageRenderer))]
namespace eShopOnContainers.Droid.Renderers namespace eShopOnContainers.Droid.Renderers
{ {
public class SlideDownMenuPageRenderer : PageRenderer, ISlideOverKitPageRendererDroid public class SlideDownMenuPageRenderer : PageRenderer, ISlideOverKitPageRendererDroid


+ 40
- 28
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/Resource.Designer.cs View File

@ -1166,32 +1166,32 @@ namespace eShopOnContainers.Droid
public partial class Color public partial class Color
{ {
// aapt resource value: 0x7f0b0048
public const int abc_background_cache_hint_selector_material_dark = 2131427400;
// aapt resource value: 0x7f0b0049 // aapt resource value: 0x7f0b0049
public const int abc_background_cache_hint_selector_material_light = 2131427401;
public const int abc_background_cache_hint_selector_material_dark = 2131427401;
// aapt resource value: 0x7f0b004a // aapt resource value: 0x7f0b004a
public const int abc_color_highlight_material = 2131427402;
public const int abc_background_cache_hint_selector_material_light = 2131427402;
// aapt resource value: 0x7f0b004b
public const int abc_color_highlight_material = 2131427403;
// aapt resource value: 0x7f0b0004 // aapt resource value: 0x7f0b0004
public const int abc_input_method_navigation_guard = 2131427332; public const int abc_input_method_navigation_guard = 2131427332;
// aapt resource value: 0x7f0b004b
public const int abc_primary_text_disable_only_material_dark = 2131427403;
// aapt resource value: 0x7f0b004c // aapt resource value: 0x7f0b004c
public const int abc_primary_text_disable_only_material_light = 2131427404;
public const int abc_primary_text_disable_only_material_dark = 2131427404;
// aapt resource value: 0x7f0b004d // aapt resource value: 0x7f0b004d
public const int abc_primary_text_material_dark = 2131427405;
public const int abc_primary_text_disable_only_material_light = 2131427405;
// aapt resource value: 0x7f0b004e // aapt resource value: 0x7f0b004e
public const int abc_primary_text_material_light = 2131427406;
public const int abc_primary_text_material_dark = 2131427406;
// aapt resource value: 0x7f0b004f // aapt resource value: 0x7f0b004f
public const int abc_search_url_text = 2131427407;
public const int abc_primary_text_material_light = 2131427407;
// aapt resource value: 0x7f0b0050
public const int abc_search_url_text = 2131427408;
// aapt resource value: 0x7f0b0005 // aapt resource value: 0x7f0b0005
public const int abc_search_url_text_normal = 2131427333; public const int abc_search_url_text_normal = 2131427333;
@ -1202,11 +1202,11 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f0b0007 // aapt resource value: 0x7f0b0007
public const int abc_search_url_text_selected = 2131427335; public const int abc_search_url_text_selected = 2131427335;
// aapt resource value: 0x7f0b0050
public const int abc_secondary_text_material_dark = 2131427408;
// aapt resource value: 0x7f0b0051 // aapt resource value: 0x7f0b0051
public const int abc_secondary_text_material_light = 2131427409;
public const int abc_secondary_text_material_dark = 2131427409;
// aapt resource value: 0x7f0b0052
public const int abc_secondary_text_material_light = 2131427410;
// aapt resource value: 0x7f0b0008 // aapt resource value: 0x7f0b0008
public const int accent_material_dark = 2131427336; public const int accent_material_dark = 2131427336;
@ -1406,11 +1406,11 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f0b003b // aapt resource value: 0x7f0b003b
public const int switch_thumb_disabled_material_light = 2131427387; public const int switch_thumb_disabled_material_light = 2131427387;
// aapt resource value: 0x7f0b0052
public const int switch_thumb_material_dark = 2131427410;
// aapt resource value: 0x7f0b0053 // aapt resource value: 0x7f0b0053
public const int switch_thumb_material_light = 2131427411;
public const int switch_thumb_material_dark = 2131427411;
// aapt resource value: 0x7f0b0054
public const int switch_thumb_material_light = 2131427412;
// aapt resource value: 0x7f0b003c // aapt resource value: 0x7f0b003c
public const int switch_thumb_normal_material_dark = 2131427388; public const int switch_thumb_normal_material_dark = 2131427388;
@ -1418,6 +1418,9 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f0b003d // aapt resource value: 0x7f0b003d
public const int switch_thumb_normal_material_light = 2131427389; public const int switch_thumb_normal_material_light = 2131427389;
// aapt resource value: 0x7f0b0048
public const int white = 2131427400;
static Color() static Color()
{ {
global::Android.Runtime.ResourceIdManager.UpdateIdValues(); global::Android.Runtime.ResourceIdManager.UpdateIdValues();
@ -2299,8 +2302,8 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f0200a8 // aapt resource value: 0x7f0200a8
public const int mr_ic_play_light = 2130837672; public const int mr_ic_play_light = 2130837672;
// aapt resource value: 0x7f0200ad
public const int notification_template_icon_bg = 2130837677;
// aapt resource value: 0x7f0200ae
public const int notification_template_icon_bg = 2130837678;
// aapt resource value: 0x7f0200a9 // aapt resource value: 0x7f0200a9
public const int product_add = 2130837673; public const int product_add = 2130837673;
@ -2314,6 +2317,9 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f0200ac // aapt resource value: 0x7f0200ac
public const int splash_drawable = 2130837676; public const int splash_drawable = 2130837676;
// aapt resource value: 0x7f0200ad
public const int user_profile = 2130837677;
static Drawable() static Drawable()
{ {
global::Android.Runtime.ResourceIdManager.UpdateIdValues(); global::Android.Runtime.ResourceIdManager.UpdateIdValues();
@ -2711,8 +2717,8 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f070013 // aapt resource value: 0x7f070013
public const int showTitle = 2131165203; public const int showTitle = 2131165203;
// aapt resource value: 0x7f07009c
public const int sliding_tabs = 2131165340;
// aapt resource value: 0x7f07009d
public const int sliding_tabs = 2131165341;
// aapt resource value: 0x7f07006c // aapt resource value: 0x7f07006c
public const int snackbar_action = 2131165292; public const int snackbar_action = 2131165292;
@ -2750,6 +2756,9 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f07000d // aapt resource value: 0x7f07000d
public const int tabMode = 2131165197; public const int tabMode = 2131165197;
// aapt resource value: 0x7f07009c
public const int tab_icon = 2131165340;
// aapt resource value: 0x7f070099 // aapt resource value: 0x7f070099
public const int text = 2131165337; public const int text = 2131165337;
@ -2771,8 +2780,8 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0x7f070048 // aapt resource value: 0x7f070048
public const int title_template = 2131165256; public const int title_template = 2131165256;
// aapt resource value: 0x7f07009d
public const int toolbar = 2131165341;
// aapt resource value: 0x7f07009e
public const int toolbar = 2131165342;
// aapt resource value: 0x7f070032 // aapt resource value: 0x7f070032
public const int top = 2131165234; public const int top = 2131165234;
@ -3051,10 +3060,13 @@ namespace eShopOnContainers.Droid
public const int support_simple_spinner_dropdown_item = 2130903097; public const int support_simple_spinner_dropdown_item = 2130903097;
// aapt resource value: 0x7f03003a // aapt resource value: 0x7f03003a
public const int Tabbar = 2130903098;
public const int TabLayout = 2130903098;
// aapt resource value: 0x7f03003b // aapt resource value: 0x7f03003b
public const int Toolbar = 2130903099;
public const int Tabs = 2130903099;
// aapt resource value: 0x7f03003c
public const int Toolbar = 2130903100;
static Layout() static Layout()
{ {


BIN
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/drawable-xxxhdpi/menu_cart.png View File

Before After
Width: 45  |  Height: 37  |  Size: 1.6 KiB

BIN
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/drawable-xxxhdpi/user_profile.png View File

Before After
Width: 35  |  Height: 35  |  Size: 1.6 KiB

+ 14
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/TabLayout.axml View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageView
android:id="@+id/tab_icon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="center"
android:layout_centerHorizontal="true"
android:background="@android:color/transparent" />
</RelativeLayout>

+ 0
- 11
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/Tabbar.axml View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.TabLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabIndicatorColor="@android:color/white"
app:tabGravity="fill"
app:tabMode="fixed" />

+ 12
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/Tabs.axml View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.TabLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabIndicatorColor="@android:color/white"
app:tabGravity="fill"
app:tabMode="fixed" />

+ 12
- 9
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/layout/Toolbar.axml View File

@ -1,9 +1,12 @@
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways" />

+ 3
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/colors.xml View File

@ -0,0 +1,3 @@
<resources>
<color name="white">#FFFFFF</color>
</resources>

+ 1
- 0
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/styles.xml View File

@ -3,6 +3,7 @@
<style name="MainTheme" parent="MainTheme.Base"> <style name="MainTheme" parent="MainTheme.Base">
</style> </style>
<!-- Base theme applied no matter what API --> <!-- Base theme applied no matter what API -->
<style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!--If you are using revision 22.1 please use just windowNoTitle. Without android:--> <!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->


+ 18
- 2
src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj View File

@ -206,6 +206,15 @@
<None Include="packages.config" /> <None Include="packages.config" />
<None Include="Resources\AboutResources.txt" /> <None Include="Resources\AboutResources.txt" />
<None Include="Assets\AboutAssets.txt" /> <None Include="Assets\AboutAssets.txt" />
<AndroidResource Include="Resources\layout\Tabs.axml">
<SubType>Designer</SubType>
</AndroidResource>
<AndroidResource Include="Resources\layout\Toolbar.axml">
<SubType>Designer</SubType>
</AndroidResource>
<AndroidResource Include="Resources\layout\TabLayout.axml">
<SubType>Designer</SubType>
</AndroidResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<AndroidResource Include="Resources\drawable\icon.png" /> <AndroidResource Include="Resources\drawable\icon.png" />
@ -217,8 +226,6 @@
<None Include="Properties\AndroidManifest.xml" /> <None Include="Properties\AndroidManifest.xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<AndroidResource Include="Resources\layout\Tabbar.axml" />
<AndroidResource Include="Resources\layout\Toolbar.axml" />
<AndroidResource Include="Resources\values\styles.xml" /> <AndroidResource Include="Resources\values\styles.xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -275,6 +282,15 @@
<ItemGroup> <ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\product_add.png" /> <AndroidResource Include="Resources\drawable-hdpi\product_add.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\user_profile.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\colors.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\menu_cart.png" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" /> <Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">


Loading…
Cancel
Save