2013-07-12 13 views
6

親に対するビューを取得するには、getLeft()getRight()getTop()、およびgetBottom()を使用できます。しかし、レイアウトファイルの一番上の親を基準にしたビューを取得するにはどうすればよいですか? 私の前夜のレイアウトはRelativeLayoutだと言う。その後、私の中にはネストされたレイアウトがいくつかあります。私はEditTextビューを持っています。どのようにして、eveに関してEditTextビューの位置を取得しますか?androidの一番上の親に対するビューの位置を取得

+0

この情報で何をしようとしていますか?ルートに対する相対位置は、ビューの位置が常にその直接の親に関係しているため、ネストされた子の中にビューを配置するのに役立ちません。 – Bobbake4

答えて

8

view.getLocationOnScreen()またはview.getLocationInWindow()を使用して絶対位置を確認することができます。

3
View target = findViewById(R.id.target_id); 
View parent = (View)target.getParent(); 
int x = target.getLeft(); 
int y = target.getTop(); 
while(parent != null){ 
    x += parent.getLeft(); 
    y += parent.getTop(); 
    parent = (View)parent.getParent() 
} 

私がテストしなかったため、これらのコードが役に立つかもしれません。私はそれがうまくいくことを望む。

関連する問題