Android 获取实际窗口宽度

Android 获取实际窗口宽度,android,Android,因此,我试图获得手机屏幕的实际大小,以便将一组菜单按钮居中。在我的姜饼手机上它工作正常,但在果冻豆模拟器上它完全错了 WindowManager wm = (WindowManager) Assets.context.getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); try{ Point size = new Point(); di

因此,我试图获得手机屏幕的实际大小,以便将一组菜单按钮居中。在我的姜饼手机上它工作正常,但在果冻豆模拟器上它完全错了

WindowManager wm = (WindowManager) Assets.context.getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    try{
        Point size = new Point();
        display.getSize(size);
        screenHeight = size.y;
        screenWidth = size.x;
    }catch(NoSuchMethodError e){
        //API lower than 12, revert to deprecated methods
        screenWidth = display.getWidth();
        screenHeight = display.getHeight();
    }*/

但是当我画一条x=screenWidth/2的线时,它根本不在屏幕的中间!这让我抓狂,非常感谢您的帮助:)

您可能应该使用
DisplayMetrics
。试试这个:

DisplayMetrics metrics = Assets.context.getResources().getDisplayMetrics();
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;

您可能应该改用
DisplayMetrics
。试试这个:

DisplayMetrics metrics = Assets.context.getResources().getDisplayMetrics();
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;