2013-07-12 19 views
6

Ebeveynine göre bir görünüm elde etmek için getLeft(), getRight(), getTop() ve 'u kullanabilirim. Ancak, düzen dosyasının en üstteki ebeveyne göre nasıl bir görünüm alırım? Diyelim ki, benim eve düzenim RelativeLayout. O zaman iç havvada iç içe geçmiş düzenleri olduğunu söyle. Ve sonra hiyerarşi içinde derin bir EditText görünümü var. EditText görünümünün yerini arifeye göre nasıl alabilirim?android için en üstteki ebeveyne göre görünüm konumunu al

+0

Bu bilgilerle ne yapmaya çalışıyorsunuz? Kökle ilgili pozisyon, iç içe geçmiş çocukların görüşlerin bir konum olarak konumlandırılmasında çok yardımcı olur. – Bobbake4

cevap

8

Mutlak görünüm konumunu bulmak için, view.getLocationOnScreen() veya view.getLocationInWindow()'u kullanabilirsiniz.

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() 
} 

Bu kod size yardımcı olabilir, çünkü test etmedim. Umarım işe yarar.

İlgili konular