1
2
3
4
5
6
7
8
9
10
11
12
13
|
@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());
}
|
//------------------------------------------------方法一
1
2
3
4
5
6
|
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);
|
//-----------------------------------------------方法二 (亲测可用!在onStart()方法中调用)
1
2
3
4
5
6
7
8
9
|
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
;
}
});
|
//-----------------------------------------------方法三
1
2
3
4
5
6
7
8
|
ViewTreeObserver vto2 = imageView.getViewTreeObserver();
vto2.addOnGlobalLayoutListener(
new
OnGlobalLayoutListener() {
@Override
public
void
onGlobalLayout() {
imageView.getViewTreeObserver().removeGlobalOnLayoutListener(
this
);
textView.append(
"\n\n"
+imageView.getHeight()+
","
+imageView.getWidth());
}
});
|