1

画面のサイズを見つけるために次のコードがあります。

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
    Point size = new Point();
    int measuredWidth = 0;
    int measuredHeight = 0;

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        wm.getDefaultDisplay().getSize(size);

        measuredWidth = size.x;
        measuredHeight = size.y;
    } else {
        Display display = wm.getDefaultDisplay();

        measuredWidth = display.getWidth();
        measuredHeight = display.getHeight();
    }

ギャラクシージオ(2.3.6)ではこれは機能しますが、ギャラクシータブ10.1(3.0)ではクラッシュします。

wm.getDefaultDisplay().getSize(size);

この行で私は得る

NoSuchMethodError:android.view.Display.getSize。

どうすればこれを修正できますか?

4

2 に答える 2

2

私はすでにそれを見つけました.getSize()メソッドはHoneyComb(api 11)から利用可能だったと思いましたが、実際にはHoneycomb_MR2(api 13)からしか利用できません.

于 2012-09-28T11:27:24.350 に答える
0

getSize() は API 13ドキュメント以降です

おそらく古いバージョンのデバイスでこれを実行します。

getHeight() と getWidth() を試してください。

于 2012-09-28T11:29:45.763 に答える