2 csh 34 csh_34 于 2012.12.18 13:21 提问

应用程序中图像的位置移动问题

在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()中有两个图像,现在它们的位置都是固定的。能把这两个图像从仿真器的底部移动到顶部吗?

2个回答

cytown
cytown   2012.12.18 13:54
已采纳

要做动画的话,就要自己实现onDraw,然后每次移动响应的位置,也就是更改drawBitmap的x,y值,最后postInvalidate()。

移动的距离有两种方式,1是步进器,这个比较简单,但效果一般,2是用Interpolator来计算,效果比较好。

hxn_217
hxn_217   2012.12.24 11:14

重写你的代码:canvas.drawBitmap(Image1, x, y, null);.重写线程来改变x和y的值,在Panel.java里调用invalidate。

Csdn user default icon
上传中...
上传图片
插入图片