私が使用しているSwipeSampleには、左から右へレイアウトをスライドさせるアニメーションxmlがあります。各アニメーションには、durationが800に設定されています。
私は、ユーザーがクリックした位置を確認してループを完成させるためにアニメーションをループするwhileループを持っています。
私が見つけているのは、現在の位置が1で、0にしたい場合、アニメーションは正常に動作するということです。私がポジション6にいて、0に移動したい場合は、レイアウトが1ヒットでスライドするように見えますが、ループでは各パスの前にアニメーションの時間を再生できません。
whileループに遅延を追加することは可能ですか?別のアプローチを使用する必要がありますか?
これはコードです:
ケースR.id.編集長官:
System.out.println( "Text Yellow pressed");
if(viewFlipper.getDisplayedChild()!=0 || viewFlipper.getDisplayedChild()> 0 ){
do
{
viewFlipper.setInAnimation(slideRightIn);
viewFlipper.setOutAnimation(slideRightOut);
viewFlipper.showPrevious();
//Delay need here to allow animation to complete
} while (viewFlipper.getDisplayedChild()!=0);
}
//System.out.println("New Flipper "+viewFlipper.getDisplayedChild());
break;
私はThread.sleep(800)を追加しようとしましたが、うまくいきませんでした。
try {
Thread.sleep(800);
} catch (InterruptedException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}