3

画面サイズを取得したいのですが、API レベル 10 のデバイスを使用しています。Display幅と高さを取得するために使用していますが、これは非推奨であるというメッセージが Eclipse で表示されます。より良い新しい方法はDisplayMetrics、新しい API を持つアプリに使用することですがDisplayMetrics、API 10 ではサポートされていません。この問題を処理するにはどうすればよいですか?

古い(非推奨)

Display display = getWindowManager().getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();

新しい

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.heightPixels;
metrics.widthPixels;
4

2 に答える 2

7

次のように API レベルを確認してください。

int screenWidth = 0;
int screenHeight = 0;   
if(android.os.Build.VERSION.SDK_INT < 10) {
    Display display = getWindowManager().getDefaultDisplay();
    screenWidth = display.getWidth();
    screenHeight = display.getHeight();
} else {
    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    screenWidth = metrics.widthPixels;
    screenHeight = metrics.heightPixels;
}

しかし、DisplayMetricsで追加されましたAPI level 1。したがって、実際にはelse句のみが必要です。

于 2013-08-21T07:08:49.323 に答える