public Double GetDensity()
        {
            if (density == 0)
            {
                DisplayMetrics displayMetrics = new DisplayMetrics();
                density = displayMetrics?.Density ?? 0;
                displayMetrics?.Dispose();
                if (density == 0)
                {
                    density = 1;
                }
            }

            return(density);
        }
Ejemplo n.º 2
0
        public Display_Android()
        {
            var context = global::Android.App.Application.Context;

            using (var windowManager = context.GetSystemService(Context.WindowService).JavaCast <IWindowManager>())
                using (var display = windowManager.DefaultDisplay) {
                    DisplayMetrics metrics = new DisplayMetrics();
                    display.GetMetrics(metrics);

                    try
                    {
                        _scale        = metrics.ScaledDensity;
                        _heightPoints = metrics.HeightPixels / _scale;
                        _widthPoints  = metrics.WidthPixels / _scale;
                    }
                    finally
                    {
                        if (metrics != null)
                        {
                            metrics.Dispose();
                        }
                    }
                }
        }