Note that there are some explanatory texts on larger screens.

plurals
  1. POWait for one animation in ImageView to stop to start anotherone?
    primarykey
    data
    text
    <pre><code> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.genie_out); genie = (ImageView) findViewById(R.id.genieout); startService(new Intent(this, MyService2.class)); SceneAnimation come = new SceneAnimation(genie, comingout, durationcomingout); SceneAnimation circled = new SceneAnimation(genie, circle,durationcircle); come.play(1); circled.play(1); } </code></pre> <p>There is one ImageView and it takes the whole screen, i want to figure how to wait until come.play(1) is done to play circle.play(1), like this circle plays first and then come plays out the rest of itself because come is a longer animation, i would like to know this also because i have more services i would like to start and stop along the way too, thank you for your time</p> <pre><code>class SceneAnimation { public int x; public ImageView mImageView; public int[] mFrameRess; public int[] mDurations; public int mDuration; public int mLastFrameNo; public long mBreakDelay; public SceneAnimation(ImageView pImageView, int[] pFrameRess, int[] pDurations) { mImageView = pImageView; mFrameRess = pFrameRess; mDurations = pDurations; mLastFrameNo = pFrameRess.length - 1; play(1); } public SceneAnimation(ImageView pImageView, int[] pFrameRess, int pDuration){ mImageView = pImageView; mFrameRess = pFrameRess; mDuration = pDuration; mLastFrameNo = pFrameRess.length - 1; mImageView.setImageResource(mFrameRess[0]); playConstant(1); } public SceneAnimation(ImageView pImageView, int[] pFrameRess, int pDuration, long pBreakDelay){ mImageView = pImageView; mFrameRess = pFrameRess; mDuration = pDuration; mLastFrameNo = pFrameRess.length - 1; mBreakDelay = pBreakDelay; mImageView.setImageResource(mFrameRess[0]); playConstant(1); } public void play(final int pFrameNo) { mImageView.postDelayed(new Runnable(){ public void run() { mImageView.setImageResource(mFrameRess[pFrameNo]); if(pFrameNo == mLastFrameNo) { return;} else play(pFrameNo + 1); } }, mDurations[pFrameNo]); } public void playConstant(final int pFrameNo){ mImageView.postDelayed(new Runnable(){ public void run() { mImageView.setImageResource(mFrameRess[pFrameNo]); if(pFrameNo == mLastFrameNo) playConstant(0); else playConstant(pFrameNo + 1); } }, pFrameNo==mLastFrameNo &amp;&amp; mBreakDelay&gt;0 ? mBreakDelay : mDuration); } }; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload