protected override void Dispose(bool disposing) { if (disposing) { Element.ChildAdded -= PagesChanged; Element.ChildRemoved -= PagesChanged; Element.ChildrenReordered -= PagesChanged; if (_rootLayout != null) { RemoveAllViews(); foreach (Page pageToRemove in Element.Children) { var pageRenderer = Platform.GetRenderer(pageToRemove); if (pageRenderer != null) { pageRenderer.View.RemoveFromParent(); pageRenderer.Dispose(); } } if (_bottomNav != null) { _bottomNav.SetOnNavigationItemSelectedListener(null); _bottomNav.Dispose(); _bottomNav = null; } _rootLayout.Dispose(); _rootLayout = null; } } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (disposing && !_disposed) { _disposed = true; RemoveAllViews(); foreach (Page pageToRemove in Element.Children) { IVisualElementRenderer pageRenderer = Android.Platform.GetRenderer(pageToRemove); if (pageRenderer != null) { pageRenderer.View.RemoveFromParent(); pageRenderer.Dispose(); } pageToRemove.PropertyChanged -= OnPagePropertyChanged; pageToRemove.ClearValue(Android.Platform.RendererProperty); } if (_viewPager != null) { _viewPager.Adapter.Dispose(); _viewPager.Dispose(); _viewPager = null; } if (_tabLayout != null) { _tabLayout.AddOnTabSelectedListener(null); _tabLayout.Dispose(); _tabLayout = null; } if (_bottomNavigationView != null) { _bottomNavigationView.SetOnNavigationItemSelectedListener(null); _bottomNavigationView.SetOnNavigationItemReselectedListener(null); _bottomNavigationView.Dispose(); _bottomNavigationView = null; } if (_relativeLayout != null) { _relativeLayout.Dispose(); _relativeLayout = null; } if (Element != null) { PageController.InternalChildren.CollectionChanged -= OnChildrenCollectionChanged; } _previousPage = null; } base.Dispose(disposing); }
private void ClearPDF() { if (mDocView != null) { DisposeReaderView(); mDocView.Dispose(); mPDFView.Dispose(); mAdapter.ReleaseBitmaps(); mAdapter.Dispose(); if (_core != null) { _core.OnDestroy(); _core.Dispose(); _core = null; mAdapter = null; mDocView = null; mPDFView = null; } } }
public Bitmap createBitmapFromLayoutWithText(Pin pin, float steps, int currentEmojiIndex) { var inflater = Android.App.Application.Context.GetSystemService(Context.LayoutInflaterService) as Android.Views.LayoutInflater; Android.Widget.RelativeLayout view = new Android.Widget.RelativeLayout(Context); inflater.Inflate(Resource.Layout.XamarinMapInfoWindow, view, true); if (customMap.OnSelect) { view.Measure(MeasureSpec.MakeMeasureSpec(0, Android.Views.MeasureSpecMode.Unspecified), MeasureSpec.MakeMeasureSpec(0, Android.Views.MeasureSpecMode.Unspecified)); view.Layout(0, 0, view.MeasuredWidth, view.MeasuredHeight); Bitmap bitmap = Bitmap.CreateBitmap(view.MeasuredWidth, view.MeasuredHeight, Bitmap.Config.Argb8888); Canvas c = new Canvas(bitmap); view.Draw(c); c.Dispose(); return(bitmap); } else { //var emoji1 = view.FindViewById<TextView>(Resource.Id.Emoji); //var cpin = pin as PinModel; //switch (currentEmojiIndex) //{ // case (0): // if (cpin.Emojis.Count > 0) // { // emoji1.Text = cpin.Emojis[0]; // emoji1.TextSize = 25; // emoji1.TranslationY = -steps; // } // break; // case (1): // if (cpin.Emojis.Count > 0) // { // emoji1.Text = cpin.Emojis[1]; // emoji1.TextSize = 25; // emoji1.TranslationY = -steps; // } // break; // case (2): // if (cpin.Emojis.Count > 1) // { // emoji1.Text = cpin.Emojis[2]; // emoji1.TextSize = 25; // emoji1.TranslationY = -steps; // } // break; // case (3): // if (cpin.Emojis.Count > 2) // { // emoji1.Text = cpin.Emojis[3]; // emoji1.TextSize = 25; // emoji1.TranslationY = -steps; // } // break; //} view.Measure(MeasureSpec.MakeMeasureSpec(0, Android.Views.MeasureSpecMode.Unspecified), MeasureSpec.MakeMeasureSpec(0, Android.Views.MeasureSpecMode.Unspecified)); view.Layout(0, 0, view.MeasuredWidth, view.MeasuredHeight); Bitmap bitmap = Bitmap.CreateBitmap(view.MeasuredWidth, view.MeasuredHeight, Bitmap.Config.Argb8888); Canvas c = new Canvas(bitmap); view.Draw(c); c.Dispose(); view.Dispose(); return(bitmap); } }