`
dyllove98
  • 浏览: 1404754 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:39018
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:79994
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133107
社区版块
存档分类
最新评论

Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)

阅读更多

 

 Android比Iphone烦的多的一点就是:屏幕尺寸实在是太多了!

 

    下面介绍下在Android中如何获取屏幕相关的信息。

    1.屏幕尺寸,源代码如下:

 

DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    int screenWidth=metrics.widthPixels;            //屏幕宽度
    int .screenHeight=metrics.heightPixels;        //屏幕高度
 

     这段代码可以插入到Activity的onCreate()函数中。

 

    2.获取标题栏、状态栏高度:

 

Rect rect = new Rect(); 

    Window win = this.getWindow(); 

    win.getDecorView().getWindowVisibleDisplayFrame(rect); 

    int statusBarHeight = rect.top; 

    int contentViewTop = win.findViewById(Window.ID_ANDROID_CONTENT).getTop(); 

    int titleBarHeight = contentViewTop - Variable.statusBarHeight;    
 

//statusBarHeight为状态栏高度,titleBarHeight为标题栏高度

      另外,这段代码不能插入Activity的onCreate()和onResume()函数中,否则得到的两个值都为0 。我的做法是将之插入到onPause()函数中,成功得到两个正确值。据说可以插入到按钮等组件的回调函数中,但是本人没有实验,就不妄下结论了。 

java进阶   http://www.javady.com/index.php/category/javavm 

0
0
分享到:
评论
1 楼 haiyangzhy 2012-07-11  

view.post(new Runnable()
        {
            public void run()
            {
                Rect rect = new Rect();
                Window window = getWindow();
                window.getDecorView().getWindowVisibleDisplayFrame(rect);
                int statusBarHeight = rect.top;
                int contentViewTop =
                    window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
                int titleBarHeight = contentViewTop - statusBarHeight;
                System.out.println("TitleBarHeight: " + titleBarHeight
                    + ", StatusBarHeight: " + statusBarHeight);
            }
        };


这个可以解决在oncreate中获取为0的问题

相关推荐

    Android-获取手机屏幕大小屏幕分辨率屏幕密度导航栏高度标题栏高度

    5. 标题栏高度: 标题栏(通常在Activity顶部)的高度可以通过测量`ActionBar`或`Toolbar`的高度获取。如果是使用`AppCompatActivity`,可以获取到`SupportActionBar`对象,然后调用`getHeight()`方法。如果使用...

    Android 获取屏幕、状态栏、标题栏的尺寸

    在Android开发中,准确地获取屏幕、状态栏和标题栏的尺寸是至关重要的,这有助于开发者创建适应不同设备和屏幕尺寸的应用。以下是一些关于如何获取这些尺寸的关键知识点。 1. **屏幕尺寸获取** - **DisplayMetrics...

    Android如何获取屏幕、状态栏及标题栏的高度详解

    在Android开发中,获取屏幕、状态栏以及标题栏的高度是常见的需求,这有助于开发者精确地控制UI布局。本文将详细讲解如何在Android中获取这些高度。 1. **Android手机屏幕的高度** 获取屏幕的高度通常有两种方法。...

    Android编程实现获取标题栏、状态栏的高度、屏幕大小及模拟Home键的方法

    在Android开发中,有时我们需要获取到设备的特定信息,如标题栏和状态栏的高度,屏幕的尺寸,甚至模拟系统的某些功能,例如Home键操作。下面将详细讲解如何实现这些功能。 1. **获取标题栏高度**: 标题栏通常位于...

    Android获得控件和状态栏高度

    在Android应用开发中,有时我们需要获取屏幕上的控件高度以及状态栏的高度。这通常是为了确保应用界面能够正确地适应不同设备的屏幕尺寸和特性,例如为了防止布局被状态栏遮挡或者调整布局使其看起来更加美观。本文...

    android全屏模式下计算键盘的大小

    标题“android全屏模式下计算键盘的大小”直指这一问题的核心,即如何在全屏模式下获取并计算弹出的软键盘的高度,以便调整布局适应键盘的存在。描述中提到,在全屏模式下,传统的通过Activity布局变化检测键盘的...

    类似于状态栏的自定义控件的实现

    状态栏是手机屏幕顶部显示系统信息(如时间、电池状态和网络信号)以及通知的地方。在Android中,我们通常通过修改主题(Theme)或使用系统提供的API来改变状态栏的颜色和透明度。 在实现自定义状态栏控件时,我们...

    android 手机界面各种长度的获取

    状态栏的高度、整个屏幕的大小、获取标题栏的高度、获取图片宽度、坐标移动获取各种形式的坐标

    5种方法完美解决android软键盘挡住输入框方法详解

    在Android应用开发中,经常会遇到一个问题,即当用户在输入框中输入时,弹出的软键盘会遮挡部分屏幕内容,尤其是对于登录或注册等需要填写多项信息的界面,这种情况严重影响了用户体验。为了解决这个问题,Android...

    Android状态栏微技巧(推荐)

    另外,获取状态栏高度、屏幕大小以及模拟Home键的方法也是Android开发中常用的技巧。例如,可以通过反射获取系统资源中的状态栏高度,然后在布局中预留相应空间;屏幕大小则可以通过`DisplayMetrics`类获取;模拟...

    安卓Android源码——仿微信标题栏右上角PopupWindow.zip

    本资源“安卓Android源码——仿微信标题栏右上角PopupWindow.zip”提供了一种实现类似微信标题栏右上角弹出窗口(PopupWindow)的方法。下面我们将详细探讨这一技术实现的关键知识点。 首先,`PopupWindow`是...

    Android-Android刘海屏水滴屏等全面屏适配工具

    通过获取屏幕的物理尺寸和状态栏高度,可以判断出屏幕的类型。 2. **适配布局**:针对不同的屏幕类型,开发者可以利用工具提供的API调整布局,比如创建一个安全区域(Safe Area),以避开屏幕的缺口部分。这可以...

    安卓键盘输入相关-android全屏模式下计算键盘的大小.rar

    标题“安卓键盘输入相关-android全屏模式下计算键盘的大小”表明这个压缩包包含的资源着重于解决全屏应用中如何获取并处理键盘弹出时的尺寸变化。描述中提到,可能需要自行调整代码以适应具体需求,且提供的代码可...

    android 全屏幕以按钮覆盖----动态产生按钮并最大化

    这里,`Theme.NoTitleBar.Fullscreen`主题去除了状态栏和标题栏,使得应用占据整个屏幕。 接下来,为了在全屏布局上动态添加按钮,我们需要在Java代码中执行以下步骤: 1. **获取布局引用**:首先,我们需要获取到...

    java_关Android屏幕的工具类的标准代码

    获得标题栏高度 获取通知栏高度 获取指定Activity的截屏,保存到png文件 保存bitmap 截取webView快照(webView加载的整个内容的大小) 根据毫秒获得格式化日期 是否存在sd卡 获得文件名 截屏并保存 截屏并保存

    customTitleBar

    如果希望标题栏填充满屏幕的顶部,可以使用`match_parent`,然后通过计算状态栏高度并在代码中进行偏移,以确保内容不被遮挡。 3. 在Activity中应用:在Activity的布局文件中,用自定义的`custom_title_bar`替换...

    Android基础UI编程.pdf

    - Android中的Activity可以通过调用`requestWindowFeature()`方法来控制标题栏和状态栏的显示与隐藏。 - 要隐藏标题栏,可以在`setCurrentView()`之前调用`requestWindowFeature(Window.FEATURE_NO_TITLE)`。 - ...

    Android 实现水平、垂直方向文字跑马灯效果demo

    在Android开发中,实现文字跑马灯效果是一种常见的动态UI设计,可以吸引用户注意力并提供信息展示。本示例——"Android 实现水平、垂直方向文字跑马灯效果demo",将详细介绍如何在Android应用中创建这样的效果。跑马...

    Android_基础UI编程[1].pdf

    - `setTitle()` 和 `setStatusBar()` 方法用于控制Activity的标题栏和状态栏的显示。在调用 `setCurrentView()` 之前,可以使用 `requestWindowFeature(Window.FEATURE_NO_TITLE)` 来隐藏标题栏,实现全屏效果。 -...

Global site tag (gtag.js) - Google Analytics