我不知道为什么,但是当我设置图像视图(称为 c)的宽度时,它返回一个负值。ivPiano 也是一个 imageView。
ViewTreeObserver vto = llPiano.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
llPiano.getViewTreeObserver().removeGlobalOnLayoutListener(this);
c.setTop(ivPiano.getTop());
c.setLeft(ivPiano.getLeft());
ShowMessageLong(ivPiano.getWidth());
c.getLayoutParams().width = ivPiano.getWidth();
c.getLayoutParams().height= ivPiano.getHeight();
c.bringToFront();
ShowMessageLong(c.getWidth());
}
});
ShowMessageLong() 只是创建并显示一个 toast。第一次(ivPiano 的宽度)显示 1200,然后第二次(c 的宽度)返回 -22。任何想法为什么?提前致谢!!