Android屏幕尺寸、标题栏高度、状态栏高度、当前View尺寸
2012-12-25 22:03
447 查看
class TestThread extends Thread{ Context con; TestThread(Context co){ con=co; } public void run(){ try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } //屏幕尺寸,全屏屏幕尺寸宽、高 DisplayMetrics dm = new DisplayMetrics(); ((Activity) con).getWindowManager().getDefaultDisplay().getMetrics(dm); int dis_w = dm.widthPixels; int dis_h = dm.heightPixels; System.out.println("dis_w="+String.valueOf(dis_w)); System.out.println("dis_h="+String.valueOf(dis_h)); //状态栏高度,注意,一下语句放在程序开始运行,得到结果为0 //可能原因是显示内容还没有达到稳定状态,所以这些值还没被确认 //个人解决方法是放入线程中,待第一个View显示后,调用线程,并延时1s再获取此尺寸 Rect frame = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); int statusBarHeight = frame.top; System.out.println("statusBarHeight="+String.valueOf(statusBarHeight)); //标题栏+状态栏的值,同上需要延时 int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop(); System.out.println("contentTop="+String.valueOf(contentTop)); int titleBarHeight = contentTop - statusBarHeight ; System.out.println("titleBarHeight="+String.valueOf(titleBarHeight)); //下面的ll是一个我定义过的LinearLayout,并在当前满屏显示(仅填充,非全屏) //获取的尺寸为当前view显示的尺寸,同样需要延时获取 System.out.println("view_w"+String.valueOf(ll.getWidth())); System.out.println("view_g"+String.valueOf(ll.getHeight())); } }
相关文章推荐
- android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- android获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- Android获取View 的坐标和屏幕高度、状态栏高度、标题栏高度
- android获取自己定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- Android获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- android获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- android 获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- android获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度
- Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)
- Android获取屏幕高度、状态栏高度、标题栏高度
- Android获取屏幕高度、状态栏高度、标题栏高度
- android 获取状态栏、标题栏、屏幕高度、宽度
- Android之获取屏幕的尺寸像素及获取状态栏标题栏高度
- Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)
- Android获取屏幕高度、状态栏高度、标题栏高度
- Android获取屏幕,状态栏,标题栏的高度
- Android获取屏幕高度、状态栏高度、标题栏高度
- Android获取状态栏、标题栏、ActionBar以及屏幕的高度
- Android获取屏幕高度、状态栏高度、标题栏高度
- Android获取屏幕高度、状态栏高度、标题栏高度