2016-05-29 69 views
0

喜的位置,所以我試圖讓機器人的imageview的位置使用獲取一個imageview的

xPosition = view.getLeft(); 
yPosition = view.getTop(); 

但它一直返回0,無論身在何處的ImageView恰好是。使用

view.getLocationOnScreen(int[] location); 

有沒有人有任何想法,爲什麼這可能是?

+0

你有沒有綁定它的圖像? – pooyan

+0

[如何獲得視圖的絕對座標]的可能重複(http://stackoverflow.com/questions/2224844/how-to-get-the-absolute-coordinates-of-a-view) – RominaV

回答

0

您可以在onCreate完成後使用這些方法。做到這一點的方法之一是這個onCreate方法裏面是這樣的:

view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
     @Override 
     public void onGlobalLayout() { 

      //do your thnig here..... 

      if (Build.VERSION.SDK_INT < 16) { 
       view.getViewTreeObserver().removeGlobalOnLayoutListener(this);                       
      } 
      else { 
       view.getViewTreeObserver().removeOnGlobalLayoutListener(this); 
      } 
     } 
    }); 

佈局之後,建成並運行onGlobalLayout方法的globalLayoutListener將會收到通知。確保在完成自己想要的操作後刪除globalLayoutListener。