2012-12-10 48 views
1

我有一臺Sony的GoogleTV設備,它使用HDMI連接到全高清電視(1920x1080)。我使用下面的代碼來計算電視的目標顯示尺寸。Android - 使用HDMI時的DisplayMetrics分辨率問題

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

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

現在的問題。當我將GoogleTV盒子連接到不同尺寸的不同電視時,它仍然顯示1920x1080,而分辨率則大不相同。

有什麼我需要額外獲得新的決議?

在此先感謝

回答

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; 
}