2014-09-03 48 views
-2

我有多個矩形在視圖(畫布)的中間。我想將它們全部平滑地同時移動到屏幕的邊緣。這不是一個跳躍,我需要看到從開始到結束的位置之間的位置,以便它看起來像一個平滑的過渡。動畫矩形移動順利android視圖

最好的辦法是做什麼?

+0

BouncingBalls.java sdk samples文件夾? – Selvin 2014-09-03 12:19:07

回答

0

試試這個代碼:

public class animatedView extends View { 
    Bitmap i; 
    int x=0; 
    int y=0; 

    public animatedView(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
     i = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 
    } 
    @Override 
    protected void onDraw(Canvas canvas) { 
     // TODO Auto-generated method stub 
     super.onDraw(canvas); 

     Rect bk = new Rect(); 
     bk.set(0, 0, canvas.getWidth(), canvas.getHeight()); 
     Paint pBk = new Paint(); 
     pBk.setStyle(Paint.Style.FILL); 
     pBk.setColor(Color.BLUE); 
     canvas.drawRect(bk, pBk); 
     canvas.drawBitmap(i, x, y, pBk); 
     x+=10; 
     invalidate(); 
    } 

} 

希望它能幫助!

+0

我沒有嘗試過,但不應該永久循環。我不認爲矩形會停在邊緣。 我的目標是在一個按鈕上點擊,將矩形移動到具有畫布繪製區域邊界的邊緣,並停止動畫。 另外,有沒有辦法在動畫期間停止觸摸事件的執行。 – user2943193 2014-09-03 22:58:56

+0

但是,您可以根據自己的需要製作代碼,並且可以添加簡單的語句來參加您的目標只需要一點思考,在這種情況下,您可以對座標x進行測試,如果它參加了將停止的邊緣增加 – 2014-09-04 16:38:09

+0

是的,你可以停止像這樣的按鈕的觸摸事件:btn.setEnabled(false); 並且有一些測試語句必須由您自己創建,您只能在註釋過程中停止它,這非常容易 – 2014-09-04 16:42:40