iam正在处理一个项目,我需要高度为图像视图的宽度,我只是简单地调用getwidth()
和getheight()
这样
int targetW = mImageView.getWidth() ;
int targetH = mImageView.getHeight();
它适用于所有类型的Android手机,但当我尝试kyocera水电手机时它返回零! 我在图像视图呈现到屏幕之后调用它是肯定的,因为我在单击视图本身时调用它们。
有什么建议吗?
EDITED: 除Kyocera Hydro手机外,所有手机都能正常使用
答案 0 :(得分:1)
试试这个
mImageView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Toast.makeText(getContext(), mImageView.getWidth() + "", Toast.DURATION_SHORT).show();
// remove OnGlobalLayoutListener, check Android version too
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
mImageView.getViewTreeObserver()
.removeOnGlobalLayoutListener(this);
else
mImageView.getViewTreeObserver()
.removeGlobalOnLayoutListener(this);
}
});