当前位置: 移动技术网 > IT编程>移动开发>Android > Android 取得状态栏、任务栏高度的小例子

Android 取得状态栏、任务栏高度的小例子

2019年07月24日  | 移动技术网IT编程  | 我要评论

ubc才子,绿的多音字组词,天父的儿女事件

复制代码 代码如下:

package com.aslibra.test;

import android.app.activity;
import android.graphics.rect;
import android.os.bundle;
import android.util.log;
import android.view.window;
import android.widget.imageview;

public class test extends activity {
  imageview iv;

  @override
  public void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);

    iv = (imageview) this.findviewbyid(r.id.imageview01);
    iv.post(new runnable()
    {
      public void run()
      {
        viewinited();
      }
    }
    );
    log.v("test", "== ok ==");
  }

  private void viewinited(){
    rect rect= new rect();
    window window= getwindow();
    iv.getwindowvisibledisplayframe(rect);
    int statusbarheight= rect.top;
    int contentviewtop= window.findviewbyid(window.id_android_content).gettop();
    int titlebarheight= contentviewtop - statusbarheight;
    //测试结果:ok之后 100多 ms 才运行了
    log.v("test", "=-init-= statusbarheight="+statusbarheight+
        " contentviewtop="+contentviewtop+
        " titlebarheight="+titlebarheight);   
  }

  /*
   * 07-14 02:36:48.449: verbose/test(1385): == ok ==
   * 07-14 02:36:48.558: verbose/test(1385): =-init-= statusbarheight=25 contentviewtop=50 titlebarheight=25
   */
}

浏览器获取状态栏高度的代码

复制代码 代码如下:

    rect visrect = new rect();
    if (!mbrowserframelayout.getglobalvisiblerect(visrect)) {
        if (logd_enabled) {
            log.d(logtag, "showfaketitlebar visrect failed");
        }
        return;
    }
    params.y = visrect.top;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网