1

我有一台来自 Sony 的 GoogleTV 设备,它使用 HDMI 连接到全高清电视 (1920x1080)。我使用以下代码来计算电视的目标显示尺寸。

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
//dm.widthPixels
//dm.heightPixels

效果很好,我分别得到 1920 和 1080 像素。

现在讨论这个问题。当我将 GoogleTV 盒子连接到不同尺寸的不同电视时,它仍然显示 1920x1080,而分辨率却大不相同。

为了获得新的分辨率,我需要额外的东西吗?

提前致谢

4

1 回答 1

0

您可以尝试在 onSizeChanged 中添加它,如下所示可能有效:

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) 
{
    DisplayMetrics displaymetrics = new DisplayMetrics();
    ((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    ScreenWidth = displaymetrics.widthPixels;
    ScreenHeight = displaymetrics.heightPixels;
}
于 2012-12-10T12:10:04.507 回答