Android 中状态栏、标题栏、View的大小及区分
2013-12-04 23:38
423 查看
1、获得状态栏的高度(状态栏相对Window的位置):
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
2、获得mView中显示内容的Top (不包括标题栏,指的是相对Window的位置,即:没有标题栏的时候,指的是状态栏的bottom在Window中的坐标;有标题栏的时候指的是标题栏的bottom在Window中的坐标)
getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
3、获得view中显示内容,与window无关,只和父控件有关
如果布局文件中mView match_parent 那么top=0,bottom=mView.getHeight();
4、获得屏幕的宽高:
(1)
getResources().getDisplayMetrics().heightPixels;
getResources().getDisplayMetrics().widthPixels;
(2)
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();//屏幕宽度
int height = wm.getDefaultDisplay().getHeight();//屏幕高度
(3)
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
int W = mDisplayMetrics.widthPixels;
int H = mDisplayMetrics.heightPixels;
(4)过时方法
Display mDisplay = getWindowManager().getDefaultDisplay();
int W = mDisplay.getWidth();
int H = mDisplay.getHeight();
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
2、获得mView中显示内容的Top (不包括标题栏,指的是相对Window的位置,即:没有标题栏的时候,指的是状态栏的bottom在Window中的坐标;有标题栏的时候指的是标题栏的bottom在Window中的坐标)
getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
3、获得view中显示内容,与window无关,只和父控件有关
如果布局文件中mView match_parent 那么top=0,bottom=mView.getHeight();
4、获得屏幕的宽高:
(1)
getResources().getDisplayMetrics().heightPixels;
getResources().getDisplayMetrics().widthPixels;
(2)
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();//屏幕宽度
int height = wm.getDefaultDisplay().getHeight();//屏幕高度
(3)
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
int W = mDisplayMetrics.widthPixels;
int H = mDisplayMetrics.heightPixels;
(4)过时方法
Display mDisplay = getWindowManager().getDefaultDisplay();
int W = mDisplay.getWidth();
int H = mDisplay.getHeight();
相关文章推荐
- Android实现自定义对话框
- 发布Android APK应用流程
- Android开发之旅:环境搭建及HelloWorld
- 关于android的nfc问题 Ultralight c (通用卡)
- android使用html+javascript来制作页面
- android 打包自己的自定义组件成JAR包
- Android ActionBar详解(三):ActionBar实现切换Tabs标签
- Android 蓝牙条码扫描输入法
- 高仿优酷Android客户端图片左右滑动(自动切换)
- Android中常用的五种布局
- Android 防止控件被重复点击
- 获取Android应用程序信息
- Android 仿3g体育门户客户端赛事图标浮出效果
- Android 保存图片到系统及相关问题的解决方案
- android开发——学习总结20131204
- Android环境变量的设置
- Android 深入ViewPager补间动画,实现类京东商城首页广告Banner切换效果
- Android 设置 Setting --->开发者选项 中选项为默认配置(by liukun321咕唧咕唧)
- Android实现推送方式解决方案
- android花屏效果的实现(ViewPager的基本使用)