获取屏幕尺寸并在绘图位图中使用

时间:2013-10-22 10:30:12

标签: android canvas bitmap

这不是我的活动!这是单独的类文件 我正在使用Surface视图扩展到我的类文件。我想在我的画布上显示一个小位图我的位图比我的手机屏幕小很多,所以我使用createscaledbitmap将这个代码放在手机屏幕上,这里有代码

  Bitmap  o2 = Bitmap.createScaledBitmap( hud, 800, 490, false);

它在我的手机中工作得很好但是当我在更大的手机中测试时,我的位图只粘贴了屏幕的3/4 ..所以我想让我的位图来修复手机屏幕尺寸

Bitmap  o2 = Bitmap.createScaledBitmap( hud, phonescreenwidth, phonescreenheight, false);

是否有一个函数来获取手机显示尺寸并在我的代码中使用? 像
      int phonescreenwidth = surfaceView.getwidth ();

并且有一个名为protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)的函数 我不知道如何使用它。如果有人知道请告诉我如何:)

谢谢大家

3 个答案:

答案 0 :(得分:1)

通过这种方式,您可以获得设备的宽度和高度,并将其传递给您的方法..

WindowManager manager = (WindowManager) getApplicationContext().getSystemService(Activity.WINDOW_SERVICE);
    int width, height;
    LayoutParams params;
    if (Build.VERSION.SDK_INT > VERSION_CODES.FROYO) {
        width = manager.getDefaultDisplay().getWidth();
        height = manager.getDefaultDisplay().getHeight();
    } else {
        Point point = new Point();
        manager.getDefaultDisplay().getSize(point);
        width = point.x;
        height = point.y;
    }

答案 1 :(得分:1)

     DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int height = displaymetrics.heightPixels; int width = displaymetrics.widthPixels;

请参阅此处http://developer.android.com/guide/practices/screens_support.html#testing

Get screen dimensions in pixels

答案 2 :(得分:0)

试试这个以获得屏幕尺寸,

显示display = getWindowManager()。getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight();

然后尝试将上下文从ur baseActivity传递到当前活动

然后尝试context.getWindowManger ....