码迷,mamicode.com
首页 > 移动开发 > 详细

Android 计算控件尺寸

时间:2015-08-14 19:39:03      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:android   控件   计算   尺寸   

@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 计算控件尺寸

标签:android   控件   计算   尺寸   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!