使用ViewTreeObserver的addOnGlobalLayoutListener获取XY位置,在旋转时为view.getX()返回0

时间:2015-12-04 07:21:24

标签: android android-layout

下面的代码段显示了我如何尝试访问视图X和Y线,但它返回Y值准确,但X始终返回0

代码段:

ViewGroup vg = (ViewGroup)(blockView.getParent());
vg.setRotation(-45f);
vg.setRotationX(55f);
ViewTreeObserver vto2 = blockView.getViewTreeObserver();
vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
       @Override
       public void onGlobalLayout()   {                                       
        System.out.println("Block VIEW X > " + blockView.getX()); //returns 0
        System.out.println("Block VIEW Y > " + blockView.getY()); //returns value.

       }
 });

所以任何人都可以告诉我应该做些什么改变或建议采取其他方法来做同样的事情。

0 个答案:

没有答案