View
は、アプリケーションロジックを維持しないでください。コントローラー(ご使用のホストActivity
またはFragment
)が必要です。
これは、View.setTag()
にそれぞれView
の論理的な説明を適用したいと思っています。あなたが持っていると、画面上の位置を取得し、すべてのViews
を通じてアニメーション、ループを停止する際の項目が縦にアニメーション場合 次に、あなたの山賊マシンの各列のViews
ほとんど見え取得とそのタグ例えば(View.getTag()
)
を比較下記の方法を使用して、敵がどこで停止したかを判断する。
//the area where to compare views
int BOUND_TOP, BOUNT_DOWN;
//your content view
ViewGroup rootLayout;
//method to get information about what is visible
public List<Object> getVisibleViewTags() {
List<Object> list = new LinkedList<>();
int count = rootLayout.getChildCount();
for (int pos = 0; pos < count; pos++) {
View child = rootLayout.getChildAt(pos);
float translationY = child.getTranslationY();
if (translationY > BOUND_TOP && translationY < BOUND_DOWN) {
list.add(child.getTag());
}
}
return list;
}
これで、ビューに関する情報をタグとして添付するだけで済みます。 例:
view.setTag("view_apples");
または
view.setTag("view_bananas");
申し訳ありませんが、私は自分自身を明確にしなかった場合。私は、アニメーションを停止または開始する方法に関する質問はありません。私は、アニメーションが同じであるかどうかを確認するために停止したときにImageViewsの画像を比較したいと思います。 – Jesper