Android - 使用HDMI时的DisplayMetrics分辨率问题

时间:2012-12-10 09:51:05

标签: android

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

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

工作正常,我分别得到1920和1080像素。

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

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

提前致谢

1 个答案:

答案 0 :(得分: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;
}