2016-05-29 12 views
0

こんにちはの場所は、私はImageViewの

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

を使用してアンドロイドでImageViewの位置を取得しようとしている。しかし、それはImageViewのがあることを起こる0どんなにを返す続けなさい。使用している場合も同じです。

view.getLocationOnScreen(int[] location); 

これはどういう考えですか?

+0

イメージをバインドしてもらえませんか? – pooyan

+0

[ビューの絶対座標を取得する方法](http://stackoverflow.com/questions/2224844/how-to-get-the-absolute-coordinates-of-a-view)の可能な複製 – RominaV

答えて

0

これらのメソッドは、onCreateの完了後に使用できます。これを行う方法の1つは、これはの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を削除してください。