下面的代碼是動態的獲取屏幕高度
Display display = ((Activity) getContext()).getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
得到的錯誤:Error: java.lang.ClassCastException: android.app.Application Complete log cat: http://pastebin.com/8zUNFUYn
然後我把代碼改成:
Display display = (activity).getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
執行完後,得出一個新的錯誤 display.getSize(size) 不是一個方法。是API不起作用了嗎?
1) 第一段代碼中你的 Context 不是 Activity 而是 Application, 所以強制類型轉換錯誤
2) Display.getSize(Point outSize) 方法是 API Level 13 的, 即只有在 Android 3.2 及以上才有.