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

来源:爱站网时间:2021-02-04编辑:网友分享
对于在Android中取得状态栏、任务栏高度这个问题是很多用户们都表示好奇的,那么接下来我们就一起去看看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程序中打开和关闭输入法的操作

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载