我想在R.drawable中向屏幕显示一个.png文件。最终我希望这个图像是动态的,这意味着它的位置可以根据指定的x,y坐标移动。
我已经调查过了,但我对很多选项感到困惑。以下是我的大部分问题:
用于此情况的最佳数据类型/对象是什么? 实现图像的最佳方法是什么? 它需要是Drawable吗? 那么Drawable是否需要自己的View? 要显示它,我只是将新视图添加到主视图吗?
我有使用数值方法算法的经验,但这是我第一次尝试使用图形而且我有点不知所措,所以我们非常感谢任何建议。
编辑 - 对于图像的移动,它将移动很多,最终作为用户控制的移动。
答案 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);
}