2012-03-02 60 views
0

我是Android的初學者。我正在開發一個動畫遊戲(不使用畫布或表面視圖並不繪製任何東西)。我面臨的一個問題是 - 當車輛從屏幕的左側移動到右側時,我想執行一些任務,直到屏幕上顯示車輛。但是,我無法以正確的方式做到這一點。我如何知道車輛在屏幕上是否可見,以及車輛是否穿過屏幕? 爲此,我就是用這個代碼,直到NOW-如何檢查屏幕中的對象?

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="-50%" 
    android:toXDelta="170%" 
    android:fromYDelta="0%" 
    android:toYDelta="0%" 
    android:duration="6000" 
    android:zAdjustment="bottom" 
/> 

和活動實現它as--

final Animation a = AnimationUtils.loadAnimation(this, R.anim.translate); 
     a.reset(); 
     vehicleView.setImageResource(R.drawable.benz_rock_1); 
     vehicleView.startAnimation(a); 

現在,我怎樣才能得到,如果汽車是在屏幕上或從屏幕?對不起,我的英語...

回答

2

我看到該

兩個可能的解決方案,您可以使用View.getGlobalVisibleRect。如果你的視圖在屏幕上,它會返回true,所以你可以輕鬆地做任何你需要的。

或者您可以使用View.getLocationOnScreen(Int[] location)。而作爲書面文件上:

位置兩個整數數組中舉行座標

你可以使用任何的這個兩個方法來檢測,如果它在屏幕上還是不行!

希望它有幫助!

+0

我仍然無法解決它,請給我任何鏈接或例子... – 2012-03-02 13:04:33

+0

如果我的觀點是在一個framelayout作爲它的孩子,而另一個視圖也是同一個framelayout的孩子,並且視圖是高於我的看法。所以我的觀點被覆蓋了,無法被看到。有沒有辦法判斷我的觀點是否完全覆蓋? – dragonfly 2015-09-12 02:46:51