2013-10-02 17 views
5

nasıl iki ImageView arasındaki kesişim bulabilirsiniz ??? Bunu denedim bu ancak hiçbir ilerleme içinİki Görünüm arasındaki Kesişimi Bulma?

kimse beni bunu yapmaya önerebilir misiniz?

Kod snnipet

imageView = (ImageView) findViewById(R.id.imageView1); 
imageView2 = (ImageView) findViewById(R.id.imageView2); 

    Rect rect =new Rect(); 
    imageView.getHitRect(rect); 

    Rect rect1 = new Rect(); 
    imageView2.getHitRect(rect1); 

    if(Rect.intersects(rect, rect1)){ 
     Toast.makeText(this, "hoho", Toast.LENGTH_SHORT).show(); 
    } 

xml dosyası:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".IntersectActivity" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:src="@drawable/ic_launcher" /> 

<ImageView 
    android:id="@+id/imageView2" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true" 
    android:layout_marginRight="121dp" 
    android:src="@drawable/ic_launcher" /> 

</RelativeLayout> 
+0

kodunuzu koyun/fragman Kod snippet'inizin akdedilmiş nedir?) ('ONSTART sen' Örneğin, onCreate (sadece ayna bilgi parçacığı olabilir) 'ya:' getHitRect() 'görünümler, ölçülen Başka bir deyişle, vb düzenlendiği sonrasına kadar yararlı bir şey vermez Bu işe yaramaz. –

+0

o zaman bu şeyi nereye çağırmalıyım? @MH. –

+0

Bunun için olası çözüm nedir? @MH. Yani düzen faz –

cevap

3

Temelde, onCreate() yılında, android henüz görünümü oluşturmadı yüzden herhangi girişimleri genişlik yükseklik konumunu almak olsun Bir noktanın vs işe yaramaz.

Bunun yerine, onWindowFocusChanged(boolean focus) geçersiz kılmak ve bir etkinliğin yaşam döngüsü ne noktada orada

+0

1 .... teşekkürler @pskink Ben sürükle ve bir ImageView Bunun için yapmamız gereken o zaman üzerinde işlevselliği atacaklar –

+2

sadece onCreate bir Runnable sonrası, bunu yapmak zorunda ve vadede şeyler yapmak yöntemini – pskink

+0

varsa? Gibi: bir ImageView başka bir statik ImageView üzerine sürükleyin. –

İlgili konular