private void SetupMenu() { _drawerLayout = FindViewById <DrawerLayout>(Resource.Id.hamburgerMenu_layout); _drawerList = FindViewById <ListView>(Resource.Id.hamburgerMenu_menu); _drawerTitle = FindViewById <ImageView>(Resource.Id.DrawerAppName); _drawerTopText = FindViewById <TextView>(Resource.Id.DrawerTopText); _drawerButton = FindViewById <Button>(Resource.Id.DrawerFooterButton); _drawerSubtitle = FindViewById <TextView>(Resource.Id.DrawerSubTitle); _drawerSubtitle.Visibility = _menuViewModel.ShowSubtitle ? ViewStates.Visible : ViewStates.Gone; _drawerButton.SetCommand("Click", _menuViewModel.PrimaryCommand); _drawerButton.Text = _menuViewModel.PrimaryButtonText; _drawerTitle.Visibility = _menuViewModel.ShowTitleLogo ? ViewStates.Visible : ViewStates.Invisible; _drawerTopText.Text = _menuViewModel.Title; _drawerList.Adapter = new ObservableAdapter <IListItem> { DataSource = _menuViewModel.ItemViewModels, GetTemplateDelegate = AdapterHelpers.SetupMenuCell }; _drawerToggle = new ActionBarDrawerToggle(this, _drawerLayout, _toolbar, Resource.String.abc_action_bar_home_description, Resource.String.abc_toolbar_collapse_description); _drawerLayout.SetDrawerListener(_drawerToggle); _drawerLayout.DrawerClosed += RaiseOnDrawerClosed; _drawerToggle.SyncState(); }
protected override void OnCreateActivity(Bundle state) { base.OnCreateActivity(state); SetContentView(Resource.Layout.MainDrawerActivity); MainToolbar = FindViewById <Toolbar> (Resource.Id.MainToolbar); DrawerListView = FindViewById <ListView> (Resource.Id.DrawerListView); DrawerUserView = LayoutInflater.Inflate(Resource.Layout.MainDrawerListHeader, null); DrawerUserName = DrawerUserView.FindViewById <TextView> (Resource.Id.TitleTextView); DrawerImage = DrawerUserView.FindViewById <ProfileImageView> (Resource.Id.IconProfileImageView); DrawerListView.AddHeaderView(DrawerUserView); DrawerListView.Adapter = drawerAdapter = new DrawerListAdapter(); DrawerListView.ItemClick += OnDrawerListViewItemClick; var authManager = ServiceContainer.Resolve <AuthManager> (); authManager.PropertyChanged += OnUserChangedEvent; DrawerLayout = FindViewById <DrawerLayout> (Resource.Id.DrawerLayout); DrawerToggle = new ActionBarDrawerToggle(this, DrawerLayout, MainToolbar, Resource.String.EntryName, Resource.String.EntryName); DrawerLayout.SetDrawerShadow(Resource.Drawable.drawershadow, (int)GravityFlags.Start); DrawerLayout.SetDrawerListener(DrawerToggle); var drawerFrameLayout = FindViewById <FrameLayout> (Resource.Id.DrawerFrameLayout); drawerFrameLayout.Touch += (sender, e) => { // Do nothing, just absorb the event // TODO: Improve this dirty solution? }; Timer.OnCreate(this); var lp = new Android.Support.V7.App.ActionBar.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent, (int)GravityFlags.Right); MainToolbar.SetNavigationIcon(Resource.Drawable.ic_menu_black_24dp); SetSupportActionBar(MainToolbar); SupportActionBar.SetTitle(Resource.String.MainDrawerTimer); SupportActionBar.SetCustomView(Timer.Root, lp); SupportActionBar.SetDisplayShowCustomEnabled(true); if (state == null) { OpenPage(DrawerListAdapter.TimerPageId); } else { // Restore page stack pageStack.Clear(); var arr = state.GetIntArray(PageStackExtra); if (arr != null) { pageStack.AddRange(arr); } } // Make sure that the user will see newest data when they start the activity ServiceContainer.Resolve <ISyncManager> ().Run(); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); Cheeseknife.Inject(this); var toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); mDrawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); ListView mDrawerList = FindViewById <ListView>(Resource.Id.left_drawer); mDrawerList.Adapter = new LeftDrawerAdapter(this); mDrawerToggle = new Android.Support.V7.App.ActionBarDrawerToggle(this, mDrawerLayout, toolbar, Resource.String.opened, Resource.String.closed); mDrawerLayout.SetDrawerListener(mDrawerToggle); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_main); mToolbar = FindViewById <Toolbar>(Resource.Id.mToolbar); SetSupportActionBar(mToolbar); this.SupportActionBar.SetDisplayHomeAsUpEnabled(true); this.SupportActionBar.SetHomeButtonEnabled(true); mDrawerTitle = this.Title; mPlanetTitles = this.Resources.GetStringArray(Resource.Array.planets_array); mDrawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); mDrawerList = FindViewById <RecyclerView>(Resource.Id.left_drawer); mDrawerLayout.SetDrawerShadow(Resource.Drawable.drawer_shadow, GravityCompat.Start); mDrawerList.HasFixedSize = true; mDrawerList.SetLayoutManager(new LinearLayoutManager(this)); mDrawerList.SetAdapter(new PlanetAdapter(mPlanetTitles, this)); mDrawerToggle = new ActionBarDrawerToggle( this, mDrawerLayout, mToolbar, Resource.String.drawer_open, Resource.String.drawer_close); mDrawerLayout.AddDrawerListener(mDrawerToggle); var fragment = AgendaFragment.NewInstance(); var fragmentManager = this.SupportFragmentManager; var ft = fragmentManager.BeginTransaction(); ft.Replace(Resource.Id.content_frame, fragment); ft.Commit(); }
void RegisterToolbar() { Context context = Context; AToolbar bar = _toolbar; Element page = Element.RealParent; _masterDetailPage = null; while (page != null) { if (page is MasterDetailPage) { _masterDetailPage = page as MasterDetailPage; break; } page = page.RealParent; } if (_masterDetailPage == null) { _masterDetailPage = PageController.InternalChildren[0] as MasterDetailPage; if (_masterDetailPage == null) { return; } } if (((IMasterDetailPageController)_masterDetailPage).ShouldShowSplitMode) { return; } var renderer = Android.Platform.GetRenderer(_masterDetailPage) as MasterDetailPageRenderer; if (renderer == null) { return; } _drawerLayout = renderer; FastRenderers.AutomationPropertiesProvider.GetDrawerAccessibilityResources(context, _masterDetailPage, out int resourceIdOpen, out int resourceIdClose); _drawerToggle = new ActionBarDrawerToggle((Activity)context, _drawerLayout, bar, resourceIdOpen == 0 ? global::Android.Resource.String.Ok : resourceIdOpen, resourceIdClose == 0 ? global::Android.Resource.String.Ok : resourceIdClose) { ToolbarNavigationClickListener = new ClickListener(Element) }; if (_drawerListener != null) { _drawerLayout.RemoveDrawerListener(_drawerListener); } _drawerListener = new DrawerMultiplexedListener { Listeners = { _drawerToggle, renderer } }; _drawerLayout.AddDrawerListener(_drawerListener); }
void RegisterToolbar() { Context context = Context; AToolbar bar = _toolbar; Element page = Element.RealParent; MasterDetailPage masterDetailPage = null; while (page != null) { if (page is MasterDetailPage) { masterDetailPage = page as MasterDetailPage; break; } page = page.RealParent; } if (masterDetailPage == null) { masterDetailPage = PageController.InternalChildren[0] as MasterDetailPage; if (masterDetailPage == null) { return; } } if (((IMasterDetailPageController)masterDetailPage).ShouldShowSplitMode) { return; } var renderer = Android.Platform.GetRenderer(masterDetailPage) as MasterDetailPageRenderer; if (renderer == null) { return; } _drawerLayout = renderer; _drawerToggle = new ActionBarDrawerToggle((Activity)context, _drawerLayout, bar, global::Android.Resource.String.Ok, global::Android.Resource.String.Ok) { ToolbarNavigationClickListener = new ClickListener(Element) }; if (_drawerListener != null) { _drawerLayout.RemoveDrawerListener(_drawerListener); } _drawerListener = new DrawerMultiplexedListener { Listeners = { _drawerToggle, renderer } }; _drawerLayout.AddDrawerListener(_drawerListener); _drawerToggle.DrawerIndicatorEnabled = true; }
protected void SetupNavigationDrawer() { drawer = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); drawerToggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.open, Resource.String.close); drawer.SetDrawerListener(drawerToggle); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); this.HideKeyboard(); SetContentView(Resource.Layout.main_activity); SupportActionBar.SetDisplayHomeAsUpEnabled(true); mDrawerLayout = FindViewById <DrawerLayout>(Resource.Id.myDrawer); mDrawerToggle = new Android.Support.V7.App.ActionBarDrawerToggle(this, mDrawerLayout, Resource.String.open_drawer, Resource.String.close_drawer); mDrawerToggle.DrawerIndicatorEnabled = true; mDrawerLayout.SetDrawerListener(mDrawerToggle); mDrawerToggle.SyncState(); if (ChadderApp.UIHelper.Source.IsOnline == false) { ChadderApp.UIHelper.Source_OnNotAuthorized(); } else { if (fragmentNavigater == null) { fragmentNavigater = new ProfileFragment(); SupportFragmentManager.BeginTransaction().Replace(Resource.Id.navigation_drawer, fragmentNavigater).Commit(); } if (this.Intent.GetBooleanExtra("new_user", false)) { SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, new RegisterNameFragment()) .Commit(); } else if (ChadderApp.UIHelper.Source.HasUserKey == false) { var newFragment = new NewKeySplashScreenFragment(); SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, newFragment) .Commit(); } else { SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, new ConversationListFragment()) .Commit(); } } }
protected override void OnCreate(Bundle bundle) { base.OnCreate (bundle); // Set our view from the "main" layout resource SetContentView (Resource.Layout.activity_main); var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); var drawer = FindViewById<Android.Support.V4.Widget.DrawerLayout>(Resource.Id.drawer_layout); var toggle = new Android.Support.V7.App.ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close); toggle.SyncState(); var navigationView = FindViewById<Android.Support.Design.Widget.NavigationView>(Resource.Id.nav_view); navigationView.SetNavigationItemSelectedListener(this); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.side_bar); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); _drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); var drawerToggle = new Android.Support.V7.App.ActionBarDrawerToggle(this, _drawerLayout, toolbar, Resource.String.SideBar_OpenMenu, Resource.String.SideBar_CloseMenu); _drawerLayout.AddDrawerListener(drawerToggle); drawerToggle.SyncState(); SupportFragmentManager.BackStackChangedWeakSubscribe(SupportFragmentManager_BackStackChanged); ViewModel.CloseMenuInteraction.RequestedWeakSubscribe(CloseMenuInteraction_Requested); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); drawerLayout = FindViewById <Android.Support.V4.Widget.DrawerLayout>(Resource.Id.drawerLayout); drawerToggle = new Android.Support.V7.App.ActionBarDrawerToggle(this, drawerLayout, Resource.String.OpenNavDrawer, Resource.String.CloseNavDrawer); drawerLayout.AddDrawerListener(drawerToggle); ActionBar.SetDisplayHomeAsUpEnabled(true); menuListView = FindViewById <ListView>(Resource.Id.menuListView); menuListView.Adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, Android.Resource.Id.Text1, titles); menuListView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => OnMenuItemClick(e.Position); menuListView.SetItemChecked(0, true); OnMenuItemClick(0); }
//IMenuItem menuSearch; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); StringResource = this.MyApplication.CurrentLangSetting.GetStringResourceContents(); toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); drawer = FindViewById <Android.Support.V4.Widget.DrawerLayout>(Resource.Id.drawer_layout); Android.Support.V7.App.ActionBarDrawerToggle toggle = new Android.Support.V7.App.ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close); drawer.AddDrawerListener(toggle); toggle.SyncState(); leftNav = FindViewById <NavigationView>(Resource.Id.nav_view); leftNav.NavigationItemSelected += LeftNav_NavigationItemSelected; InitMenuTitle(); tabLayout = FindViewById <TabLayout>(Resource.Id.tabContent); InitTabLayout(); CURRENT_FRAGMENT = FRAGMENT_TYPE.FRAGMENT_EMPTY; SetFragment(FRAGMENT_TYPE.FRAGMENT_CHAT); SetMeOnline(); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); AndroidExtensions.Initialize(this); AnalyticsHelper.Initialize(ApplicationContext); SetContentView(Resource.Layout.Main); var toolbar = FindViewById <Android.Support.V7.Widget.Toolbar> (Resource.Id.toolbar); ViewCompat.SetElevation(toolbar, TypedValue.ApplyDimension(ComplexUnitType.Dip, 2, Resources.DisplayMetrics)); SetSupportActionBar(toolbar); this.drawer = FindViewById <DrawerLayout> (Resource.Id.drawer_layout); drawer.SetDrawerShadow(Resource.Drawable.drawer_shadow, (int)GravityFlags.Start); drawerToggle = new Android.Support.V7.App.ActionBarDrawerToggle(this, drawer, Resource.String.open_drawer, Resource.String.close_drawer); drawer.AddDrawerListener(drawerToggle); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); Hubway.Instance.Subscribe(this); FavoriteManager.FavoritesChanged += (sender, e) => aroundAdapter.Refresh(); drawerAround = FindViewById <ListView> (Resource.Id.left_drawer_around); drawerAround.ItemClick += HandleAroundItemClick; drawerAround.Adapter = aroundAdapter = new DrawerAroundAdapter(this); drawerMenu = FindViewById <NavigationView> (Resource.Id.left_drawer); drawerMenu.NavigationItemSelected += HandlerNavigationItemSelected; if (CheckGooglePlayServices()) { PostCheckGooglePlayServices(); } }
private void OpenMainview() { SetContentView(Resource.Layout.activity_main); Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); DrawerLayout drawer = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); Android.Support.V7.App.ActionBarDrawerToggle toggle = new Android.Support.V7.App.ActionBarDrawerToggle( this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close); drawer.AddDrawerListener(toggle); toggle.SyncState(); NavigationView navigationView = FindViewById <NavigationView>(Resource.Id.nav_view); navigationView.SetNavigationItemSelectedListener(this); ChangeNavigationView(Resource.Id.nav_submit); Toast.MakeText(this, Resource.String.auth_success, ToastLength.Short).Show(); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_main); // Action bar v7.Widget.Toolbar toolbar = (v7.Widget.Toolbar)FindViewById(Resource.Id.toolbar); SetSupportActionBar(toolbar); // App drawer drawer = (DrawerLayout)FindViewById(Resource.Id.drawer_layout); v7.App.ActionBarDrawerToggle toggle = new v7.App.ActionBarDrawerToggle( this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_open ); drawer.AddDrawerListener(toggle); toggle.SyncState(); navigation = (NavigationView)FindViewById(Resource.Id.nav_view); navigation.NavigationItemSelected += (sender, e) => { Navigate(e.MenuItem.ItemId); }; inboxListener = new InboxListener(this); // message center stuff if (savedInstanceState != null) { Navigate(savedInstanceState.GetInt(NavId)); Title = savedInstanceState.GetString(TitleKey); } else { navigation.SetCheckedItem(Resource.Id.nav_home); Navigate(Resource.Id.nav_home); } }
protected override void OnCreateActivity (Bundle state) { base.OnCreateActivity (state); SetContentView (Resource.Layout.MainDrawerActivity); MainToolbar = FindViewById<Toolbar> (Resource.Id.MainToolbar); DrawerListView = FindViewById<ListView> (Resource.Id.DrawerListView); DrawerUserView = LayoutInflater.Inflate (Resource.Layout.MainDrawerListHeader, null); DrawerUserName = DrawerUserView.FindViewById<TextView> (Resource.Id.TitleTextView); DrawerEmail = DrawerUserView.FindViewById<TextView> (Resource.Id.EmailTextView); DrawerImage = DrawerUserView.FindViewById<ProfileImageView> (Resource.Id.IconProfileImageView); if (!ServiceContainer.Resolve<AuthManager>().OfflineMode) { DrawerListView.AddHeaderView (DrawerUserView); } DrawerListView.Adapter = drawerAdapter = new DrawerListAdapter (); DrawerListView.ItemClick += OnDrawerListViewItemClick; authManager = ServiceContainer.Resolve<AuthManager> (); authManager.PropertyChanged += OnUserChangedEvent; DrawerLayout = FindViewById<DrawerLayout> (Resource.Id.DrawerLayout); DrawerToggle = new ActionBarDrawerToggle (this, DrawerLayout, MainToolbar, Resource.String.EntryName, Resource.String.EntryName); DrawerLayout.SetDrawerShadow (Resource.Drawable.drawershadow, (int)GravityFlags.Start); DrawerLayout.SetDrawerListener (DrawerToggle); var drawerFrameLayout = FindViewById<FrameLayout> (Resource.Id.DrawerFrameLayout); drawerFrameLayout.Touch += (sender, e) => { // Do nothing, just absorb the event // TODO: Improve this dirty solution? }; Timer.OnCreate (this); var lp = new Android.Support.V7.App.ActionBar.LayoutParams (ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent, (int)GravityFlags.Right); MainToolbar.SetNavigationIcon (Resource.Drawable.ic_menu_black_24dp); SetSupportActionBar (MainToolbar); SupportActionBar.SetTitle (Resource.String.MainDrawerTimer); SupportActionBar.SetCustomView (Timer.Root, lp); SupportActionBar.SetDisplayShowCustomEnabled (true); if (state == null) { OpenPage (DrawerListAdapter.TimerPageId); } else { // Restore page stack pageStack.Clear (); var arr = state.GetIntArray (PageStackExtra); if (arr != null) { pageStack.AddRange (arr); } } // Make sure that the user will see newest data when they start the activity ServiceContainer.Resolve<ISyncManager> ().Run (); }
protected override void Dispose(bool disposing) { if (disposing && !_disposed) { _disposed = true; if (_titleViewRenderer != null) { Android.Platform.ClearRenderer(_titleViewRenderer.View); _titleViewRenderer.Dispose(); _titleViewRenderer = null; } _toolbar.RemoveView(_titleView); _titleView?.Dispose(); _titleView = null; _toolbar.RemoveView(_titleIconView); _titleIconView?.Dispose(); _titleIconView = null; _imageSource = null; if (_toolbarTracker != null) { _toolbarTracker.CollectionChanged -= ToolbarTrackerOnCollectionChanged; _toolbarTracker.Target = null; _toolbarTracker = null; } if (_toolbar != null) { _toolbar.SetNavigationOnClickListener(null); _toolbar.Dispose(); _toolbar = null; } if (_drawerLayout != null && _drawerListener != null) { _drawerLayout.RemoveDrawerListener(_drawerListener); } if (_drawerListener != null) { _drawerListener.Dispose(); _drawerListener = null; } if (_drawerToggle != null) { _drawerToggle.Dispose(); _drawerToggle = null; } if (_backgroundDrawable != null) { _backgroundDrawable.Dispose(); _backgroundDrawable = null; } Current = null; // We dispose the child renderers after cleaning up everything related to DrawerLayout in case // one of the children is a MasterDetailPage (which may dispose of the DrawerLayout). if (Element != null) { foreach (Element element in PageController.InternalChildren) { var child = element as VisualElement; if (child == null) { continue; } IVisualElementRenderer renderer = Android.Platform.GetRenderer(child); renderer?.Dispose(); } var navController = NavigationPageController; navController.PushRequested -= OnPushed; navController.PopRequested -= OnPopped; navController.PopToRootRequested -= OnPoppedToRoot; navController.InsertPageBeforeRequested -= OnInsertPageBeforeRequested; navController.RemovePageRequested -= OnRemovePageRequested; } Device.Info.PropertyChanged -= DeviceInfoPropertyChanged; // API only exists on newer android YAY if ((int)Build.VERSION.SdkInt >= 17) { FragmentManager fm = FragmentManager; if (!fm.IsDestroyed) { FragmentTransaction trans = fm.BeginTransactionEx(); foreach (Fragment fragment in _fragmentStack) { trans.RemoveEx(fragment); } trans.CommitAllowingStateLossEx(); fm.ExecutePendingTransactionsEx(); } } } base.Dispose(disposing); }
void UpdateToolbar() { if (_disposed) { return; } Context context = Context; var activity = (FormsAppCompatActivity)context; AToolbar bar = _toolbar; ActionBarDrawerToggle toggle = _drawerToggle; if (bar == null) { return; } bool isNavigated = NavigationPageController.StackDepth > 1; bar.NavigationIcon = null; Page currentPage = Element.CurrentPage; if (isNavigated) { if (toggle != null) { toggle.DrawerIndicatorEnabled = false; toggle.SyncState(); } if (NavigationPage.GetHasBackButton(currentPage)) { var icon = new DrawerArrowDrawable(activity.SupportActionBar.ThemedContext); icon.Progress = 1; bar.NavigationIcon = icon; var prevPage = Element.Peek(1); _defaultNavigationContentDescription = bar.SetNavigationContentDescription(prevPage, _defaultNavigationContentDescription); } } else { if (toggle != null && _masterDetailPage != null) { toggle.DrawerIndicatorEnabled = _masterDetailPage.ShouldShowToolbarButton(); toggle.SyncState(); } } Color tintColor = Element.BarBackgroundColor; if (Forms.IsLollipopOrNewer) { if (tintColor.IsDefault) { bar.BackgroundTintMode = null; } else { bar.BackgroundTintMode = PorterDuff.Mode.Src; bar.BackgroundTintList = ColorStateList.ValueOf(tintColor.ToAndroid()); } } else { if (tintColor.IsDefault && _backgroundDrawable != null) { bar.SetBackground(_backgroundDrawable); } else if (!tintColor.IsDefault) { if (_backgroundDrawable == null) { _backgroundDrawable = bar.Background; } bar.SetBackgroundColor(tintColor.ToAndroid()); } } Color textColor = Element.BarTextColor; if (!textColor.IsDefault) { bar.SetTitleTextColor(textColor.ToAndroid().ToArgb()); } bar.Title = currentPage.Title ?? ""; UpdateTitleIcon(); UpdateTitleView(); }
private void setupDrawerContent() { navigationView.NavigationItemSelected += (object sender, NavigationView.NavigationItemSelectedEventArgs e) => { SessionLog.StartPerformance("Navigate"); var menuItem = e.MenuItem; menuItem.SetChecked(true); switch (menuItem.ItemId) { case Resource.Id.navigation_item_1: SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.cab_stub, new TodayViewFragment()) .AddToBackStack(null) .Commit(); SupportActionBar.SetTitle(Resource.String.Today); break; case Resource.Id.navigation_item_2: SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.cab_stub, new JournalViewFragment()) .AddToBackStack("JournalViewFragment") .Commit(); //GrabAdIntertitials(); SupportActionBar.SetTitle(Resource.String.OpenJournal); break; case Resource.Id.navigation_item_3: SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.cab_stub, new ReportFragment()) .AddToBackStack("ReportViewFragment") .Commit(); //GrabAdIntertitials(); SupportActionBar.SetTitle(Resource.String.Report); break; case Resource.Id.navigation_item_4: SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.cab_stub, new GoalViewFragment()) .AddToBackStack("GoalViewFragment") .Commit(); SupportActionBar.SetTitle(Resource.String.Goals); break; case Resource.Id.navigation_item_5: Navigate.ToSettingsPage(); break; case Resource.Id.navigation_item_6: Navigate.ToFeedback(); break; default: break; } menuItem.SetChecked(true); drawerLayout.CloseDrawers(); }; drawerToggle = new ActionBarDrawerToggleAnonymousInnerClassHelper(this, drawerLayout, Resource.String.drawer_open, Resource.String.drawer_close); drawerLayout.SetDrawerListener(drawerToggle); }
protected override void Dispose(bool disposing) { if (disposing && !_disposed) { _disposed = true; var activity = (FormsAppCompatActivity)Context; // API only exists on newer android YAY if ((int)Build.VERSION.SdkInt >= 17) { if (!activity.IsDestroyed) { FragmentManager fm = FragmentManager; FragmentTransaction trans = fm.BeginTransaction(); foreach (Fragment fragment in _fragmentStack) { trans.Remove(fragment); } trans.CommitAllowingStateLoss(); fm.ExecutePendingTransactions(); } } if (Element != null) { foreach (Element element in PageController.InternalChildren) { var child = element as VisualElement; if (child == null) { continue; } IVisualElementRenderer renderer = Android.Platform.GetRenderer(child); renderer?.Dispose(); } var navController = (INavigationPageController)Element; navController.PushRequested -= OnPushed; navController.PopRequested -= OnPopped; navController.PopToRootRequested -= OnPoppedToRoot; navController.InsertPageBeforeRequested -= OnInsertPageBeforeRequested; navController.RemovePageRequested -= OnRemovePageRequested; } if (_toolbarTracker != null) { _toolbarTracker.CollectionChanged -= ToolbarTrackerOnCollectionChanged; _toolbarTracker.Target = null; _toolbarTracker = null; } if (_toolbar != null) { _toolbar.NavigationClick -= BarOnNavigationClick; _toolbar.Dispose(); _toolbar = null; } if (_drawerLayout != null && _drawerListener != null) { _drawerLayout.RemoveDrawerListener(_drawerListener); _drawerListener = null; } _drawerToggle = null; Current = null; Device.Info.PropertyChanged -= DeviceInfoPropertyChanged; } base.Dispose(disposing); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); var navigationView = FindViewById <NavigationView>(Resource.Id.left_navigationView); drawerLayout.DrawerOpened += DrawerLayout_DrawerOpened; drawerLayout.DrawerClosed += DrawerLayout_DrawerClosed; //drawerLayout.SetBackgroundResource(Resource.Drawable.loginbackground); //navigationView.SetItemTextAppearance(Resource.Color.loginButton); var toggle = new Android.Support.V7.App.ActionBarDrawerToggle ( this, drawerLayout, Resource.String.drawer_open, Resource.String.drawer_close ); drawerLayout.AddDrawerListener(toggle); toggle.SyncState(); navigationView.NavigationItemSelected += (sender, e) => { if (previousItem != null) { previousItem.SetChecked(false); } navigationView.SetCheckedItem(e.MenuItem.ItemId); previousItem = e.MenuItem; MenuItemClicked(e.MenuItem.ItemId); drawerLayout.CloseDrawers(); }; navigationView.ItemIconTintList = null; adapter = new TabsAdapter(this, SupportFragmentManager); pager = FindViewById <ViewPager>(Resource.Id.viewpager); var tabs = FindViewById <TabLayout>(Resource.Id.tabs); pager.Adapter = adapter; tabs.SetupWithViewPager(pager); pager.OffscreenPageLimit = 3; pager.PageSelected += (sender, args) => { var fragment = adapter.InstantiateItem(pager, args.Position) as IFragmentVisible; fragment?.BecameVisible(); }; Toolbar.MenuItemClick += (sender, e) => { }; int menuId = Intent.GetIntExtra("menuId", 0); if (menuId != 0) { if (previousItem != null) { previousItem.SetChecked(false); } navigationView.SetCheckedItem(menuId); MenuItemClicked(menuId); Intent.RemoveExtra("menuId"); } }
protected override void OnCreateActivity (Bundle state) { base.OnCreateActivity (state); SetContentView (Resource.Layout.MainDrawerActivity); MainToolbar = FindViewById<Toolbar> (Resource.Id.MainToolbar); DrawerListView = FindViewById<ListView> (Resource.Id.DrawerListView); DrawerUserView = LayoutInflater.Inflate (Resource.Layout.MainDrawerListHeader, null); DrawerUserName = DrawerUserView.FindViewById<TextView> (Resource.Id.TitleTextView); DrawerImage = DrawerUserView.FindViewById<ProfileImageView> (Resource.Id.IconProfileImageView); DrawerListView.AddHeaderView (DrawerUserView); DrawerListView.Adapter = drawerAdapter = new DrawerListAdapter (); DrawerListView.ItemClick += OnDrawerListViewItemClick; var authManager = ServiceContainer.Resolve<AuthManager> (); authManager.PropertyChanged += OnUserChangedEvent; DrawerLayout = FindViewById<DrawerLayout> (Resource.Id.DrawerLayout); DrawerToggle = new ActionBarDrawerToggle (this, DrawerLayout, MainToolbar, Resource.String.EntryName, Resource.String.EntryName); DrawerLayout.SetDrawerShadow (Resource.Drawable.drawershadow, (int)GravityFlags.Start); DrawerLayout.SetDrawerListener (DrawerToggle); Timer.OnCreate (this); var lp = new Android.Support.V7.App.ActionBar.LayoutParams (ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent, (int)GravityFlags.Right); MainToolbar.SetNavigationIcon (Resource.Drawable.ic_menu_black_24dp); SetSupportActionBar (MainToolbar); SupportActionBar.SetTitle (Resource.String.MainDrawerTimer); SupportActionBar.SetCustomView (Timer.Root, lp); SupportActionBar.SetDisplayShowCustomEnabled (true); var bus = ServiceContainer.Resolve<MessageBus> (); drawerSyncStarted = bus.Subscribe<SyncStartedMessage> (SyncStarted); drawerSyncFinished = bus.Subscribe<SyncFinishedMessage> (SyncFinished); DrawerSyncView = FindViewById<FrameLayout> (Resource.Id.DrawerSyncStatus); syncRetryButton = DrawerSyncView.FindViewById<ImageButton> (Resource.Id.SyncRetryButton); syncRetryButton.Click += OnSyncRetryClick; syncStatusText = DrawerSyncView.FindViewById<TextView> (Resource.Id.SyncStatusText); if (state == null) { OpenPage (DrawerListAdapter.TimerPageId); } else { // Restore page stack pageStack.Clear (); var arr = state.GetIntArray (PageStackExtra); if (arr != null) { pageStack.AddRange (arr); } } // Make sure that the user will see newest data when they start the activity ServiceContainer.Resolve<ISyncManager> ().Run (); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_main); _drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); _contentLayout = FindViewById <ViewGroup>(Resource.Id.main); _toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); _chbTranslucent = FindViewById <CheckBox>(Resource.Id.chb_translucent); _btnSetColor = FindViewById <Button>(Resource.Id.btn_set_color); _btnSetTransparent = FindViewById <Button>(Resource.Id.btn_set_transparent); _btnSetTranslucent = FindViewById <Button>(Resource.Id.btn_set_translucent); _btnSetForImageView = FindViewById <Button>(Resource.Id.btn_set_for_image_view); _btnUseInFragment = FindViewById <Button>(Resource.Id.btn_use_in_fragment); _btnSetColorForSwipeBack = FindViewById <Button>(Resource.Id.btn_set_color_for_swipe_back); _sbChangeAlpha = FindViewById <SeekBar>(Resource.Id.sb_change_alpha); _tvStatusAlpha = FindViewById <TextView>(Resource.Id.tv_status_alpha); SetSupportActionBar(_toolbar); var toggle = new ActionBarDrawerToggle(this, _drawerLayout, _toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close); _drawerLayout.SetDrawerListener(toggle); toggle.SyncState(); _btnSetColor.Click += (s, e) => { var intent = new Intent(this, typeof(ColorStatusBarActivity)); StartActivity(intent); }; _btnSetTransparent.Click += (s, e) => { var intent = new Intent(this, typeof(ImageStatusBarActivity)); intent.PutExtra(ImageStatusBarActivity.ExtraIsTransparent, true); StartActivity(intent); }; _btnSetTranslucent.Click += (s, e) => { var intent = new Intent(this, typeof(ImageStatusBarActivity)); intent.PutExtra(ImageStatusBarActivity.ExtraIsTransparent, false); StartActivity(intent); }; _btnSetForImageView.Click += (s, e) => { var intent = new Intent(this, typeof(ImageViewActivity)); StartActivity(intent); }; _btnUseInFragment.Click += (s, e) => { var intent = new Intent(this, typeof(UseInFragmentActivity)); StartActivity(intent); }; _btnSetColorForSwipeBack.Click += (s, e) => { var intent = new Intent(this, typeof(SwipeBackActivity)); StartActivity(intent); }; _chbTranslucent.Click += (s, e) => { if (_chbTranslucent.Checked) { _contentLayout.SetBackgroundDrawable(Resources.GetDrawable(Resource.Drawable.bg_monkey)); Jaeger.StatusBarUtil.SetTranslucentForDrawerLayout(this, _drawerLayout, _alpha); _toolbar.SetBackgroundColor(Resources.GetColor(Android.Resource.Color.Transparent)); } else { _contentLayout.SetBackgroundDrawable(null); _toolbar.SetBackgroundColor(Resources.GetColor(Resource.Color.colorPrimary)); Jaeger.StatusBarUtil.SetColorForDrawerLayout(this, _drawerLayout, Resources.GetColor(Resource.Color.colorPrimary), _alpha); } }; _sbChangeAlpha.Max = 255; _sbChangeAlpha.ProgressChanged += (s, e) => { _alpha = e.Progress; if (_chbTranslucent.Checked) { Jaeger.StatusBarUtil.SetTranslucentForDrawerLayout(this, _drawerLayout, _alpha); } else { Jaeger.StatusBarUtil.SetColorForDrawerLayout(this, _drawerLayout, _statusBarColor, _alpha); } _tvStatusAlpha.Text = _alpha.ToString(); }; _sbChangeAlpha.Progress = Jaeger.StatusBarUtil.DefaultStatusBarAlpha; }