コード例 #1
0
        private AndroidView CreateScrollViewContent()
        {
            View content = _ZoomScrollView.Content;

            if (content != null)
            {
                IVisualElementRenderer renderer = FormsPlatform.GetRenderer(content);

                if (renderer == null)
                {
                    renderer = FormsPlatform.CreateRendererWithContext(content, Context);
                    FormsPlatform.SetRenderer(content, renderer);
                }

                if (renderer.View.Parent != null)
                {
                    renderer.View.RemoveFromParent();
                }

                _contentTracker = new VisualElementTracker(renderer);
                _contentTracker.UpdateLayout();

                return(renderer.View);
            }

            return(null);
        }
コード例 #2
0
 void UpdateControl()
 {
     if (IndicatorsView.IndicatorTemplate != null)
     {
         var control = IndicatorsView.IndicatorLayout.GetRenderer() ?? Platform.CreateRendererWithContext(IndicatorsView.IndicatorLayout, Context);
         AddView(control as AView);
     }
 }
コード例 #3
0
        public static IVisualElementRenderer GetOrCreateRenderer(this VisualElement bindable, Android.Content.Context context)
        {
            var renderer = XFPlatform.GetRenderer(bindable);

            if (renderer == null)
            {
                renderer = XFPlatform.CreateRendererWithContext(bindable, context);
                XFPlatform.SetRenderer(bindable, renderer);
            }
            return(renderer);
        }
コード例 #4
0
        public static IVisualElementRenderer GetOrCreateRenderer(this VisualElement bindable)
        {
            var renderer = XFPlatform.GetRenderer(bindable);

            if (renderer == null)
            {
                renderer = XFPlatform.CreateRendererWithContext(bindable, CrossCurrentActivity.Current.Activity);
                XFPlatform.SetRenderer(bindable, renderer);
            }
            return(renderer);
        }
コード例 #5
0
        public static IVisualElementRenderer GetOrCreateRenderer(this VisualElement bindable, bool deneme = false)
        {
            var renderer = XFPlatform.GetRenderer(bindable);

            if (renderer == null || deneme)
            {
                if (renderer != null)
                {
                    renderer.Dispose();
                    //renderer = null;
                }
                renderer = XFPlatform.CreateRendererWithContext(bindable, CrossCurrentActivity.Current.Activity);
                XFPlatform.SetRenderer(bindable, renderer);
            }
            return(renderer);
        }
コード例 #6
0
        void UpdateIndicatorTemplate()
        {
            if (IndicatorsView.IndicatorLayout == null)
            {
                return;
            }

            var renderer = IndicatorsView.IndicatorLayout.GetRenderer() ?? Platform.CreateRendererWithContext(IndicatorsView.IndicatorLayout, Context);

            Platform.SetRenderer(IndicatorsView.IndicatorLayout, renderer);

            RemoveAllViews();
            AddView(renderer.View);

            var indicatorLayoutSizeRequest = IndicatorsView.IndicatorLayout.Measure(double.PositiveInfinity, double.PositiveInfinity, MeasureFlags.IncludeMargins);

            IndicatorsView.IndicatorLayout.Layout(new Rectangle(0, 0, indicatorLayoutSizeRequest.Request.Width, indicatorLayoutSizeRequest.Request.Height));
        }
コード例 #7
0
        public static void ChangePage(this ExtendedTabbedPageRenderer renderer, FrameLayout pageContainer, Page page)
        {
            renderer.Context.HideKeyboard(renderer);
            if (page == null)
            {
                return;
            }

            if (Platform.GetRenderer(page) == null)
            {
                Platform.SetRenderer(page, Platform.CreateRendererWithContext(page, renderer.Context));
            }

            var pageContent = Platform.GetRenderer(page).View;

            pageContainer.AddView(pageContent);
            if (pageContainer.ChildCount > 1)
            {
                pageContainer.RemoveViewAt(0);
            }

            EnsureTabIndex(renderer);
        }
コード例 #8
0
        void SetUpNewElement(IndicatorView newElement)
        {
            if (newElement == null)
            {
                IndicatorsView = null;
                return;
            }

            IndicatorsView = newElement;

            IndicatorsView.PropertyChanged += OnElementPropertyChanged;

            if (Tracker == null)
            {
                _visualElementTracker = new VisualElementTracker(this);
                //_visualElementPackager = new VisualElementPackager(this);
                //_visualElementPackager.Load();
            }

            this.EnsureId();

            UpdateBackgroundColor();

            if (IndicatorsView.IndicatorTemplate != null)
            {
                var control = IndicatorsView.IndicatorLayout.GetRenderer() ?? Platform.CreateRendererWithContext(IndicatorsView.IndicatorLayout, Context);
                Platform.SetRenderer(IndicatorsView.IndicatorLayout, control);
                AddView(control as AView);
            }
            else
            {
                UpdateItemsSource();
            }

            ElevationHelper.SetElevation(this, newElement);
        }