• android获取view宽高的几种方法


    在onCreate方法中我们通过mView.getWidth()和mView.getHeight()获取到的view的宽高都是0,那么下面几种方法就可以在onCreate方法中获取到view的宽高。

    1、

     int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
            int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
            mTextView.measure(w, h);
            int height = mTextView.getMeasuredHeight();
            int width = mTextView.getMeasuredWidth();
            System.out.println("measure width=" + width + " height=" + height);

    2、mViewTreeObserver = mTextView.getViewTreeObserver();

    mViewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener()
            {
                @Override
                public void onGlobalLayout()
                {
                    // TODO Auto-generated method stub
                    mTextView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    System.out.println("onGlobalLayout width=" + mTextView.getWidth() + " height=" + mTextView.getHeight());
                }
            });

    3、

    mViewTreeObserver.addOnPreDrawListener(new OnPreDrawListener()
            {
                @Override
                public boolean onPreDraw()
                {
                    // TODO Auto-generated method stub
                    mTextView.getViewTreeObserver().removeOnPreDrawListener(this);
                    System.out.println("onPreDraw width=" + mTextView.getWidth() + " height=" + mTextView.getHeight());
                    return true;
                }
            });

    4、

    @Override
        public void onWindowFocusChanged(boolean hasFocus)
        {
            // TODO Auto-generated method stub
            super.onWindowFocusChanged(hasFocus);
            if (hasFocus)
            {
                System.out.println("onWindowFocusChanged width=" + mTextView.getWidth() + " height=" + mTextView.getHeight());
            }
        }

    打印结果:

    本文转自:http://www.cnblogs.com/yushilong/p/3924741.html?utm_source=tuicool

  • 相关阅读:
    fetch用法说明
    正则表达式贪婪与非贪婪模式
    export ,export default 和 import 区别 以及用法
    理解MVC 框架
    HTTP 请求方法介绍
    Http协议--请求报文和响应报文
    一、Web 如何工作的
    前端工程师进阶之路-总纲
    前端知识体系之CSS及其预处理器SASS/LESS
    进度条
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/4882354.html
Copyright © 2020-2023  润新知