我迈出了第一步进入位图的运动。从互联网上的位,我创建了这个简单的代码。位图在屏幕上从左上角移动到右上角,它从屏幕上移开,然后在0,0处重新开启。我想要做的是添加一个按钮或方法来手动移动图像。我,我只使用这个单一的类,并注意到它不使用main_activity xml或者它?如果有人可以在这个方向上显示我,我可以复制其他方向。如果您想添加代码,那么不会离开屏幕将是一个奖金
public class MainActivity extends Activity {
int x=0;
int y=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new myView(this)); }
private class myView extends View{
public myView(Context context) {
super(context); }
@Override
protected void onDraw(Canvas canvas) {
Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.richinch);
if (x < canvas.getWidth()){x +=10;}
else {x=0;}
canvas.drawBitmap(myBitmap, x, y, null);
invalidate();
}}}
我已将此添加到代码中,并在OnTouch侦听器上阅读了一些内容。我如何将其添加到区域或矩形这将是非常有用的,所以有效我,使用位图作为按钮如果按钮ID知道与onclick,Basicall我试图使2位图按钮移动图像左右现在最终所有方向。除非创建峰会,例如int等,否则请使用我正在使用的名称
Paint green = new Paint();
green.setColor(Color.RED);
green.setStyle(Paint.Style.FILL);
////creating the shape////
Rect rect= new Rect();
rect.set(0, 0,x+50, x+50);
canvas.drawRect(rect,green);
Region region = new Region(0, 950, 100, 1030);
答案 0 :(得分:0)
我不确定你想要实现什么,但是如果你想制作动画,请避免使用onDraw()并让ObjectAnimator为你做“移动”。这是一个detailed tutorial。
您需要的最少代码:
ObjectAnimator animation = ObjectAnimator.ofFloat(yourObject, "x", xDest);
animation.setDuration(500); // milliseconds
animation.start();
答案 1 :(得分:0)
您没有使用任何xml
这部分在这里: setContentView(new myView(this));您可以在其中添加xml文件setContentView(R.layout.mainxml)
如果您想通过触摸手指移动位图,请查看这些教程。他们正是这样做的,你将学会使用SurfaceView
http://www.eis4u.com/2012/02/13/playing-with-graphics-in-android-part-i/ http://www.eis4u.com/2012/02/13/playing-with-graphics-in-android-part-ii/ http://www.eis4u.com/2012/02/13/playing-with-graphics-in-android-part-iii/