各位,
大家好,我最近遇到一个懊恼的问题,在android的最新的android sdk4.x中,机器中都多了个navigation bar,但是我个人由于androi的技术欠缺,不知道怎么在程序执行oncreat()方法的时候同时得到屏幕的横竖屏大小。
屏幕大小是这样的,1280X720,titlebar 50, navigation bar 在横屏幕的时候是,84,竖屏幕的时候是,96
方法 一, DisplayMetrics dm = getResources().getDisplayMetrics(); dm.widthPixels, dm.heightPixels;
得到的结果是,横屏幕,1196X720,竖屏幕,720X1184.
方法二, this.getWindowManager().getDefaultDisplay().getHeight();
this.getWindowManager().getDefaultDisplay().getWidth();
得到的结果是,横屏幕,1196X720,竖屏幕,720X1184.
我调查的结果,如果想得到1280X720,得用一张图片覆盖整个屏幕,
然后 mImage.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION),这时在去取image的大小,就可以得到整个屏幕的尺寸了。具体可以参照 apidemo--->view--->Full screen mode,
我需要的是,在程序加载的时候得到 屏幕大小(1280X720),navigation bar的横书屏幕的高度。
希望各位朋友帮我看看,我为这个问题懊恼好长时间了。多谢大家费神帮我看看。
------解决方案--------------------
从3.0开始, 你得到的屏幕长宽都是刨掉下面的systembar后的长和宽
system bar不受你控制,你得到他们也没意义,徒增烦恼。