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

前端技术 2023/09/10 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
   */
}

本文地址:https://www.stayed.cn/item/26675

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。