zoukankan      html  css  js  c++  java
  • 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());
            }
        }

    打印结果:

  • 相关阅读:
    SQLServer中的死锁的介绍
    T-SQL基础--TOP
    jQuery 与js判断是否单选复选选中
    动态替换iframe的src及动态改变iframe的高度
    ztree-持续更新中
    java发送http连接
    nginx配置文件详解
    eclipse Mars4.5.2安装fatjar
    java Scanner类注意事项
    纯java+maven+sqlserver使用mybatis
  • 原文地址:https://www.cnblogs.com/yushilong/p/3924741.html
Copyright © 2011-2022 走看看