在Panel類中,我重寫了onDraw()方法。
使用的代碼:
class Panel extends View {
public Panel(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
Bitmap image1 = BitmapFactory.decodeResource(getResources(), R.drawable.btnpre);
canvas.drawColor(Color.CYAN);
canvas.drawBitmap(Image1, 10, 10, null);
Bitmap Image2 = BitmapFactory.decodeResource(getResources(), R.drawable.btnpre);
canvas.drawBitmap(Image2, 100, 100, null);
}
}
在canvas.drawBitmap()中有兩個圖像,現在它們的位置都是固定的。能把這兩個圖像從仿真器的底部移動到頂部嗎?
要做動畫的話,就要自己實現onDraw,然後每次移動響應的位置,也就是更改drawBitmap的x,y值,最後postInvalidate()。
移動的距離有兩種方式,1是步進器,這個比較簡單,但效果一般,2是用Interpolator來計算,效果比較好。