通过以下方法可以在onCreate中获取宽高 1 //------------------------------------------------方法一 2 int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 3 int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 4 imageView.measure(w, h); 5 int height =imageView.getMeasuredHeight(); 6 int width =imageView.getMeasuredWidth(); 7 textView.append("\n"+height+","+width); 8 9 10 11 12 //-----------------------------------------------方法二 13 ViewTreeObserver vto = imageView.getViewTreeObserver(); 14 vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { 15 public boolean onPreDraw() { 16 int height = imageView.getMeasuredHeight(); 17 int width = imageView.getMeasuredWidth(); 18 textView.append("\n"+height+","+width); 19 return true; 20 } 21 }); 22 //-----------------------------------------------方法三 23 ViewTreeObserver vto2 = imageView.getViewTreeObserver(); 24 vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 25 @Override 26 public void onGlobalLayout() { 27 imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this); 28 textView.append("\n\n"+imageView.getHeight()+","+imageView.getWidth()); 29 } 30 });
时间: 2024-10-27 17:51:38