ImageView.getWidth() 返回 0
2022-09-01 21:45:59
我得到图像视图的宽度为0。下面是代码。
xml 文件 :
<ImageView
android:id="@+id/img"
android:layout_width="200dp"
android:layout_height="200dp" />
活动:
@Override
protected void onResume() {
super.onResume();
ImageView img = (ImageView) findViewById(R.id.img);
Log.d(TAG, "width : " + img.getWidth());
}
我不想使用下面的代码,因为我需要将此代码放在很多地方。
ViewTreeObserver vto = img.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
ImageView img = (ImageView) findViewById(R.id.img);
Log.d(TAG, "width : " + img.getWidth());
return true;
}
});
我的解决方法:实际上,我后来不需要在活动中添加此代码。我将其添加到非活动类中,而不是ImageView的宽度,我使用了位图图像的宽度,现在没有这个问题。