获取各种窗体的高度
2015-11-23 15:13
211 查看
//取得窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);
//窗口的宽度
int screenWidth = dm.widthPixels;
//窗口高度
int screenHeight = dm.heightPixels;
textView = (TextView)findViewById(R.id.textView01);
textView.setText("屏幕宽度: " + screenWidth + "\n屏幕高度: " + screenHeight);
//获取状态栏高度
decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。
于是,我们就可以算出状态栏的高度了。
view plain
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
//获取标题栏高度
getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。
view plain
int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是上面所求的状态栏的高度
int titleBarHeight = contentTop - statusBarHeight
getWindowManager().getDefaultDisplay().getMetrics(dm);
//窗口的宽度
int screenWidth = dm.widthPixels;
//窗口高度
int screenHeight = dm.heightPixels;
textView = (TextView)findViewById(R.id.textView01);
textView.setText("屏幕宽度: " + screenWidth + "\n屏幕高度: " + screenHeight);
//获取状态栏高度
decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。
于是,我们就可以算出状态栏的高度了。
view plain
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
//获取标题栏高度
getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。
view plain
int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是上面所求的状态栏的高度
int titleBarHeight = contentTop - statusBarHeight
相关文章推荐
- 关于微信分享支付的一些问题
- Revit二次开发——使用IExternalApplication定制UI
- jquery easyui datagrid使用参考
- C++虚函数的实现机制
- 杭电ACM3466(01背包)
- svn: 'path' has no ancestry information
- Android React Native使用原生UI组件
- mysql 中 character set 与 collation 的点滴理解
- Learning Complexity-Aware Cascades for Deep Pedestrian Detection
- 转 ffmpeg rtsp一些内容
- Selenium 测试框架中使用grid
- 转: HTTP协议的头信息详解
- shell中经常能看到的:>/dev/null 2>&1
- impdp卡住,遇到等待事件Streams AQ: enqueue blocked on low memory
- 图像的特征提取算法
- repo sync同步下来之后,git branch 显示“no branches”
- [Leetcode]Range Sum Query - Immutable
- LoadRunner报错27727&27728的处理办法
- application(1)
- Unity那些做到不想做的优化