显示设备的宽度和高度在更改方向时更改了Android设备的查找宽高比

时间:2016-07-30 14:09:53

标签: android

嗨我发现有关平板电脑在更改方向纵向上的像素宽度和高度计算的问题,其中宽度= 800,高度= 1200,在横向模式下,它更改为宽度= 1165,高度= 790,为什么这个差异即将到来 我正在使用此代码

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

4 个答案:

答案 0 :(得分:1)

是的,因为您的设备硬件按钮也消耗了一些屏幕尺寸。

答案 1 :(得分:0)

我认为这是因为有些约束在景观中占据了一些空间而不是纵向。

答案 2 :(得分:0)

在onConfigurationChanged中获取视图的高度和宽度而不是设备指标

 final View view = findViewById(R.id.yourView);

    ViewTreeObserver observer = view.getViewTreeObserver();
    observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
            Log.v(TAG,""+ view.getWidth()+" "+
                            view.getHeight());
            view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
        }
    });

答案 3 :(得分:0)

这可能意味着一些事情:

  • 该应用有菜单栏/状态栏。
  • 手机有按钮栏。

还有其他一些事情。 (例如应用程序的调整大小)

要获得绝对手机的屏幕尺寸,请使用以下代码:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

多数民众赞成。