首页 > 移动平台 > 详细

Android 计算控件尺寸

时间:2015-08-14 19:38:15      阅读:294      评论:0      收藏:0      [点我收藏+]

@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("\n"+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("\n"+height+","+width); 

//-----------------------------------------------方法二 

ViewTreeObserver vto = imageView.getViewTreeObserver(); 

vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { 

    public boolean onPreDraw() { 

        int height = imageView.getMeasuredHeight(); 

        int width = imageView.getMeasuredWidth(); 

        textView.append("\n"+height+","+width); 

        return true; 

    } 

}); 

//-----------------------------------------------方法三    

ViewTreeObserver vto2 = imageView.getViewTreeObserver();   

vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 

    @Override   

    public void onGlobalLayout() { 

        imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);   

        textView.append("\n\n"+imageView.getHeight()+","+imageView.getWidth()); 

    }   

});    


Android 计算控件尺寸

原文:http://tongfu1013.blog.51cto.com/10023514/1684551

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!