2016-05-29 2 views
0

Привет, так что я пытаюсь получить расположение в ImageView в Android с помощьюПолучить расположение в 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); 
      } 
     } 
    }); 

globalLayoutListener будет уведомлен, когда макет построен и запустить метод onGlobalLayout. Обязательно удалите globalLayoutListener после того, как вы сделаете то, что хотите.

Смежные вопросы