2

我不知道为什么,但是当我设置图像视图(称为 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。任何想法为什么?提前致谢!!

4

0 回答 0