Exemplo n.º 1
0
        void SetupBlurView()
        {
            float radius        = 25f;
            float minBlurRadius = 10f;
            float step          = 4f;

            //set background, if your root layout doesn't have one
            Drawable windowBackground = Window.DecorView.Background;

            var topViewSettings = topBlurView.SetupWith(root)
                                  .SetFrameClearDrawable(windowBackground)
                                  .SetBlurAlgorithm(new RenderScriptBlur(this)) // SupportRenderScriptBlur
                                  .SetBlurRadius(radius)
                                  .SetHasFixedTransformationMatrix(true);

            var bottomViewSettings = bottomBlurView.SetupWith(root)
                                     .SetFrameClearDrawable(windowBackground)
                                     .SetBlurAlgorithm(new RenderScriptBlur(this)) // SupportRenderScriptBlur
                                     .SetBlurRadius(radius)
                                     .SetHasFixedTransformationMatrix(true);

            int initialProgress = (int)(radius * step);

            radiusSeekBar.Progress = initialProgress;

            radiusSeekBar.ProgressChanged += (sender, args) =>
            {
                float blurRadius = args.Progress / step;
                blurRadius = Math.Max(blurRadius, minBlurRadius);
                topViewSettings.SetBlurRadius(blurRadius);
                bottomViewSettings.SetBlurRadius(blurRadius);
            };
        }
        private void BlurBackground(BlurView blurView, float radius)
        {
            try
            {
                //float radius = 10f;
                View decorView = Window.DecorView;
                //ViewGroup you want to start blur from. Choose root as close to BlurView in hierarchy as possible.
                ViewGroup rootView = decorView.FindViewById <ViewGroup>(Android.Resource.Id.Content);
                //Set drawable to draw in the beginning of each blurred frame (Optional).
                //Can be used in case your layout has a lot of transparent space and your content
                //gets kinda lost after after blur is applied.
                Drawable windowBackground = decorView.Background;

                blurView.SetupWith(rootView)
                .SetFrameClearDrawable(windowBackground)
                .SetBlurAlgorithm(new RenderScriptBlur(this))
                .SetBlurRadius(radius)
                .SetBlurAutoUpdate(true)
                .SetHasFixedTransformationMatrix(true);
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
Exemplo n.º 3
0
        protected override void OnElementChanged(ElementChangedEventArgs <FormsBlurView> e)
        {
            base.OnElementChanged(e);

            if (Control == null)
            {
                var context  = Context;
                var activity = context as Activity;

                var rootView         = (ViewGroup)activity.Window.DecorView.FindViewById(Android.Resource.Id.Content);
                var windowBackground = activity.Window.DecorView.Background;

                var blurView = new BlurView(context);

                blurView.SetBackgroundColor(Color.White.MultiplyAlpha(.75).ToAndroid());

                blurView.SetupWith(rootView)
                .WindowBackground(windowBackground)
                .BlurAlgorithm(new RenderScriptBlur(context))
                .BlurRadius(25f)

                //.SetHasFixedTransformationMatrix(true)
                ;
                SetNativeControl(blurView);
            }
        }
Exemplo n.º 4
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            //BlurView Start
            root         = FindViewById <ViewGroup>(Resource.Id.root);
            mainBlurView = FindViewById <BlurView>(Resource.Id.mainBlurView);

            float radius = 0.5F;

            //set background, if your root layout doesn't have one
            Drawable windowBackground = Window.DecorView.Background;

            var topViewSettings = mainBlurView.SetupWith(root)
                                  .WindowBackground(windowBackground)
                                  .BlurAlgorithm(new RenderScriptBlur(this)) // SupportRenderScriptBlur
                                  .BlurRadius(radius)
                                  .SetHasFixedTransformationMatrix(true);

            ////BlurView End

            // Find views
            var pager     = FindViewById <ViewPager>(Resource.Id.pager);
            var tabLayout = FindViewById <TabLayout>(Resource.Id.sliding_tabs);
            var adapter   = new CustomPagerAdapter(this, SupportFragmentManager);
            var toolbar   = FindViewById <Toolbar>(Resource.Id.my_toolbar);

            // Setup Toolbar
            SetSupportActionBar(toolbar);
            //SupportActionBar.Title = "Lettre";
            SupportActionBar.Hide();

            // Set adapter to view pager
            pager.Adapter = adapter;

            // Setup tablayout with view pager
            tabLayout.SetupWithViewPager(pager);

            // Iterate over all tabs and set the custom view
            for (int i = 0; i < tabLayout.TabCount; i++)
            {
                TabLayout.Tab tab = tabLayout.GetTabAt(i);
                tab.SetCustomView(adapter.GetTabView(i));
            }
        }
Exemplo n.º 5
0
        protected override void OnElementChanged(ElementChangedEventArgs <FormsBlurView> e)
        {
            base.OnElementChanged(e);

            if (Control == null)
            {
                var context  = Context;
                var activity = context as Activity;

                var rootView         = (ViewGroup)activity.Window.DecorView.FindViewById(Android.Resource.Id.Content);
                var windowBackground = activity.Window.DecorView.Background;

                var blurView = new BlurView(context);

                blurView.SetOverlayColor(Resource.Color.colorOverlay);

                blurView.SetupWith(rootView)
                .WindowBackground(windowBackground)
                .BlurAlgorithm(new RenderScriptBlur(context))
                .BlurRadius(10f);

                SetNativeControl(blurView);
            }
        }