广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-07 07:50:04 次阅读 稿源:互联网
    广告

    代码如下:

    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;

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告