获取到Android控件的高度

来源:互联网 发布:svn 默认端口号 编辑:程序博客网 时间:2024/04/26 19:11

1.自己来测量

  1. int w = View.MeasureSpec.makeMeasureSpec(0,  
  2.                 View.MeasureSpec.UNSPECIFIED);  
  3.         int h = View.MeasureSpec.makeMeasureSpec(0,  
  4.                 View.MeasureSpec.UNSPECIFIED);  
  5.         imageView.measure(w, h);  
  6.         int height = imageView.getMeasuredHeight();  
  7.         int width = imageView.getMeasuredWidth();

2.监听绘图
  1. ViewTreeObserver vto = imageView.getViewTreeObserver();   
  2.         vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {   
  3.             public boolean onPreDraw() {   
  4.                 vto.removeOnPreDrawListener(this);  
  5.                 int height = imageView.getMeasuredHeight();   
  6.                 int width = imageView.getMeasuredWidth();   
  7.                 return true;   
  8.             }   
  9.         });

3.全局的布局改变监听器
  1. ViewTreeObserver vto = imageView.getViewTreeObserver();     
  2.         vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {   
  3.             @Override     
  4.             public void onGlobalLayout() {   
  5.                 imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);   
  6.                 imageView.getHeight();  
  7.                 imageView.getWidth();  
  8.             }     
  9.         });




0 0
原创粉丝点击