手动控制位图图像

时间:2013-11-14 17:12:04

标签: android eclipse

我迈出了第一步进入位图的运动。从互联网上的位,我创建了这个简单的代码。位图在屏幕上从左上角移动到右上角,它从屏幕上移开,然后在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);

2 个答案:

答案 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/