2012-03-02 3 views
0

私はAndroidの初心者です。私はアクティビティでアニメーションゲームを開発しています(キャンバスやサーフェイスビューを使用しないでください)。私は1つの問題に直面している - 車両が画面の左側から右側に移動している間に、車両が画面に表示されるまで何らかのタスクを実行したい。しかし、私は正しい方法でそれを行うことができません。車が画面上に表示されているか、画面を横切っているかを知る方法は?このため 私は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" 
/> 

まで、このコードを使用していたし、今の車は、画面上または画面の外にある場合、私は取得できますか

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

as--活動でそれを実装しますか?私の英語のため申し訳ありません...

答えて

2

は、私はあなたがView.getGlobalVisibleRectを使用することができる

のための2つの解決策を参照してください。ビューが画面に表示されている場合はtrueを返しますので、必要なものを簡単に実行できます。

またはView.getLocationOnScreen(Int[] location)を使用できます。そして、ドキュメントに書かれたとおり

座標を保持するための2つの整数の配列した場所

あなたはそれが画面にだかいないかどうかを検出するために、この二つの方法のいずれかを使用することができます!

希望すると助かります!

+0

私はまだそれを解決することができません私にこのリンクまたは例を与えてください... –

+0

私のビューは、その子としてframelayoutにあり、別のビューも同じframelayoutの子であり、ビューは私の見解よりもだから私の見解は覆われて見えません。私の見解が完全にカバーされているかどうかを判断する方法はありますか? – dragonfly

関連する問題