Hi,
I would like to implement a simple animation using View
The animation involves drawing a rectangle (w =20px, h =10px) moving
from left to right at a 10px increment.
I have two questions:
(1) As the rect moves along, the previous drawing needs to be erased
so the rect appears moving along.
My implementation erases by painting the previous rect with
background color. This works but doubles the drawing.
Is there a more efficient way of erasing previous rect ?
(2) A time delay is also required between two drawings to show
successive
movement. Without the delay, only the final rect will appear
drawn.
My view class implements Runnable & has a Handler.
The run method updates the Rect location & invalidates.
I have a draw method that puts in the delay, like so:
public void draw() {
for(int i =0; i<20; i++) {
handler.postDelayed(this, i*1000); //1 sec per drawing
}
}
(1) & (2) cause the rect to go from left to right in 10px increment on
1-sec interval.
As the animation is simple, I would like to use View (not SurfaceView
or Animation) and it's OK to do all the work in UI thread.
Is there a more efficient way than the one described above to
implement this simple animation ?
Suggestions & comments are appreciated.
Thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~----------~----~----~----~------~----~------~--~---