0%

Android开发 获取Activity中的ContentView 尺寸

使用下面的代码,

         DisplayMetrics dm = new DisplayMetrics();
         activity.getWindowManager().getDefaultDisplay().getMetrics(dm);

取到的是屏幕的尺寸,如果我们的activity不是全屏的,就会有一个StatusBar的高度,如果有ActionBar,这一部分也要占据一定的高度. 要获取整个View真实的高度,可以给xml中最外层的layout加一个id,在程序中findViewById,再取这个View的高度. 但是,这么做稍微麻烦了一点,其实Android已经给我们定义好了一个id,就是android.R.id.content,不需要在xml中定义,直接findViewById即可,再用getWidth,getHeight 另外,如果用子控件的getRootView方法取到的RootView,也会跟上面的代码一样,包括StatusBar和ActionBar