public MainBuildingView(Context context, int id) : base(context, null, 0) { startPointPaint.SetStyle(Paint.Style.Fill); //TODO c = context; displ = Resources.DisplayMetrics; _plan = ContextCompat.GetDrawable(Context, id); //imageWidth = _plan.IntrinsicWidth; //imageHeight = _plan.IntrinsicHeight; imageWidth = (int)(displ.HeightPixels * 1.777778 * 0.85); imageHeight = (int)(displ.HeightPixels * 0.85); widthScale = (float)imageWidth / baseWidth; heightScale = (float)imageHeight / baseHeight; routePaint.StrokeWidth = routePaint.StrokeWidth * widthScale; //if (displ.HeightPixels - imageHeight > 0 && displ.HeightPixels - imageHeight < 50) //{ // _scaleFactor *= 0.9f; //} _plan.SetBounds(0, 0, imageWidth, imageHeight); //_scaleDetector = new ScaleGestureDetector(context, new MyScaleListener(this)); _doubleTapListener = new GestureDetector(context, new MyDoubleTapListener(this, displ)); imm = (InputMethodManager)c.GetSystemService(Context.InputMethodService); }
private int dpToPx(int dp) { Android.Util.DisplayMetrics displayMetrics = this.Resources.DisplayMetrics; int px = Convert.ToInt32(Math.Round(dp * (displayMetrics.Xdpi / (float)Android.Util.DisplayMetricsDensity.Default))); return(px); }
public double getWidth() { Display d = windowManager.DefaultDisplay; Android.Util.DisplayMetrics m = new Android.Util.DisplayMetrics(); d.GetMetrics(m); return((int)((m.WidthPixels) / m.Density)); }
public static float DpToPixels(Context context, float valueInDp) { Android.Util.DisplayMetrics metrics = context.Resources.DisplayMetrics; return(TypedValue.ApplyDimension(ComplexUnitType.Dip, valueInDp, metrics)); }
public static bool isTabletDevice(Context activityContext) { bool xlarge = ((activityContext.Resources.Configuration.ScreenLayout & ScreenLayout.SizeMask) == ScreenLayout.SizeXlarge); if (xlarge) { Android.Util.DisplayMetrics metrics = new Android.Util.DisplayMetrics(); Activity activity = (Activity)activityContext; activity.WindowManager.DefaultDisplay.GetMetrics(metrics); if (metrics.DensityDpi == DisplayMetricsDensity.Default || metrics.DensityDpi == DisplayMetricsDensity.High || metrics.DensityDpi == DisplayMetricsDensity.Medium || metrics.DensityDpi == DisplayMetricsDensity.Xhigh) return true; } return false; }
public DisplayMetricsDensity GetScreenDensity(Display display) { Android.Util.DisplayMetrics metrics = new Android.Util.DisplayMetrics(); display.GetMetrics(metrics); switch (metrics.DensityDpi) { case DisplayMetricsDensity.Low: return DisplayMetricsDensity.Low; case DisplayMetricsDensity.Medium: return DisplayMetricsDensity.Medium; case DisplayMetricsDensity.High: return DisplayMetricsDensity.High; case DisplayMetricsDensity.Xhigh: return DisplayMetricsDensity.Xhigh; case DisplayMetricsDensity.Tv: return DisplayMetricsDensity.Tv; } return DisplayMetricsDensity.Default; }