zoukankan      html  css  js  c++  java
  • Android在onCreate()中获得控件尺寸

    @Override 
      public void onCreate(Bundle savedInstanceState) { 
          super.onCreate(savedInstanceState); 
          setContentView(R.layout.main); 
          final ImageView imageView = (ImageView) findViewById(R.id.imageview);       
          int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
          int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
          imageView.measure(w, h); 
          int height =imageView.getMeasuredHeight();
          int width =imageView.getMeasuredWidth();
          textView.append(" "+height+","+width);
          System.out.println("执行完毕.."+System.currentTimeMillis()); 
      }
    //------------------------------------------------方法一 
    int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
    int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
    imageView.measure(w, h); 
    int height =imageView.getMeasuredHeight(); 
    int width =imageView.getMeasuredWidth(); 
    textView.append(" "+height+","+width); 
    //-----------------------------------------------方法二 
    ViewTreeObserver vto = imageView.getViewTreeObserver(); 
    vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { 
        public boolean onPreDraw() { 
            int height = imageView.getMeasuredHeight(); 
            int width = imageView.getMeasuredWidth(); 
            textView.append(" "+height+","+width); 
            return true; 
        } 
    }); 
    //-----------------------------------------------方法三    
    ViewTreeObserver vto2 = imageView.getViewTreeObserver();   
    vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
        @Override   
        public void onGlobalLayout() { 
            imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);   
            textView.append(" "+imageView.getHeight()+","+imageView.getWidth()); 
        }   
    });
  • 相关阅读:
    Winform 自定义TabControl实现浏览器标签
    LeetCode Add Two Numbers
    Java基础知识复习(二)
    Java基础知识复习(一)
    0-1背包问题复习
    centos7 vmware克隆解决网络问题
    阿里云上Docker Compose部署wordpress
    不需要瞎折腾,官方文档才是终极
    centos7 nginx安装
    iptables练习题(四)
  • 原文地址:https://www.cnblogs.com/diyishijian/p/4716170.html
Copyright © 2011-2022 走看看