Android如何取得状态栏、任务栏高度

释放双眼,带上耳机,听听看~!

对于在Android中取得状态栏、任务栏高度这个问题是很多用户们都表示好奇的,那么接下来我们就一起去看看Android如何取得状态栏、任务栏高度的内容。

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;

 

上文就是小编介绍Android如何取得状态栏、任务栏高度的内容,这篇文章虽然只是讲了一点皮毛,但可以拓宽站长学习东西的视野,用另一种思维去学东西,相信效果会更好。

人已赞赏
Android文章

Android自定义view之游戏摇杆

2021-2-3 20:54:54

Android文章

Android图片处理的介绍圆角图片、黑白效果、高斯模糊、素描效果、锐化、浮雕

2021-2-5 13:09:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索