1

HDMI を使用してフル HD TV (1920x1080) に接続されている Sony 製の GoogleTV デバイスがあります。次のコードを使用して、テレビのターゲット表示サイズを計算します。

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 に答える