Android中的动态图片? (初学者问题)

时间:2011-02-07 17:36:17

标签: android graphics

我想在R.drawable中向屏幕显示一个.png文件。最终我希望这个图像是动态的,这意味着它的位置可以根据指定的x,y坐标移动。

我已经调查过了,但我对很多选项感到困惑。以下是我的大部分问题:

用于此情况的最佳数据类型/对象是什么? 实现图像的最佳方法是什么? 它需要是Drawable吗? 那么Drawable是否需要自己的View? 要显示它,我只是将新视图添加到主视图吗?

我有使用数值方法算法的经验,但这是我第一次尝试使用图形而且我有点不知所措,所以我们非常感谢任何建议。

编辑 - 对于图像的移动,它将移动很多,最终作为用户控制的移动。

2 个答案:

答案 0 :(得分:2)

正如您所说,有很多方法可以做到这一点。 “最好”的方式取决于很多事情。如果你想在屏幕上的某个区域内弹跳一个类似于球的东西,最好的方法可能是创建一个自定义视图,并在你想要的任何坐标的onDraw()方法中绘制你的.png。您可以使用BitmapFactory.decodeResource()将.png作为位图加载。

答案 1 :(得分:0)

添加到Ted所说的内容,如果您希望图像稍后移动,您可能希望将其绘制到画布上。 Canvas有几种有用的绘制方法。 SurfaceView也是另一种选择。

pic = BitmapFactory.decodeResource(getResources(), img);

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawBitmap(pic, x, y, null);
    //canvas.drawRect(x, y, right, bottom, null);
}