我有索尼的GoogleTV设备,它使用HDMI连接到全高清电视(1920x1080)。我使用以下代码计算电视的目标显示尺寸。
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
//dm.widthPixels
//dm.heightPixels
工作正常,我分别得到1920和1080像素。
现在问题。当我将GoogleTV电视盒连接到不同尺寸的不同电视时,它仍然显示1920x1080,而分辨率则大不相同。
为了获得新的分辨率,我需要额外的东西吗?
提前致谢
答案 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;
}