0

因此,我试图获取手机屏幕的实际尺寸,以便将一堆菜单按钮居中。在我的 Gingerbread 手机上它工作正常,但在 Jellybean 模拟器上它完全错了......

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();
    }*/

但是,例如,当我在 jellybean 上绘制 x = screenWidth/2 处的线时,它离屏幕中间很远!这让我发疯,非常感谢任何帮助:)

4

2 回答 2

3

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

DisplayMetrics metrics = Assets.context.getResources().getDisplayMetrics();
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;
于 2013-03-06T09:25:05.817 回答
1
Display display =getWindowManager().getDefaultDisplay();

try{

    screenHeight = display.getHeight();;
    screenWidth = display.getWidth();
}catch(NoSuchMethodError e){
    //API lower than 12, revert to deprecated methods

}*/
于 2013-03-06T09:22:13.710 回答