Skip to content

Instantly share code, notes, and snippets.

@hieumoscow
Created June 28, 2016 11:51
Show Gist options
  • Save hieumoscow/ecef68ecf2eeb245c9229d389eb4e813 to your computer and use it in GitHub Desktop.
Save hieumoscow/ecef68ecf2eeb245c9229d389eb4e813 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Support.V7.App;
using Android.Views;
using Android.Widget;
using Sport;
using Sport.Droid.Renderers;
using Sport.Views;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using Xamarin.Forms.Platform.Android.AppCompat;
using AToolbar = Android.Support.V7.Widget.Toolbar;
using FragmentTransaction = Android.Support.V4.App.FragmentTransaction;
[assembly: ExportRenderer(typeof(ThemeNavigationView), typeof(NavigationPageCustom))]
namespace Sport.Droid.Renderers
{
public class NavigationPageCustom : NavigationPageRenderer
{
AToolbar _toolbar;
protected override void OnAttachedToWindow()
{
base.OnAttachedToWindow();
var bar = (Forms.Context as AppCompatActivity)?.FindViewById<AToolbar>(Resource.Id.toolbar);
if (bar != null)
{
var menu = bar.Menu;
var toolbarPage = Element.CurrentPage as IToolbarPage;
if (toolbarPage != null)
{
var t = toolbarPage.GetToolbarItems().FirstOrDefault();
var activity = ((AppCompatActivity) Forms.Context);
var tb = MainActivity.Current.FindViewById<AToolbar>(Resource.Id.toolbar);
tb.Title = "Meow";
MainActivity.Current.SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.home_more);
}
}
}
public NavigationPageCustom()
{
}
public void SetFragmentManager(FragmentManager childFragmentManager)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e)
{
base.OnElementChanged(e);
var page = e.NewElement as ThemeNavigationView;
var toolbarPage = page?.CurrentPage as IToolbarPage;
var el = Element;
if (toolbarPage != null)
{
}
}
public new Task<bool> PushViewAsync(Page page, bool animated = true)
{
return base.PushViewAsync(page, animated);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment