下面的代码是动态的获取屏幕高度
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 及以上才有.
import android.view.Display;