动画图片ontouch

时间:2012-04-19 09:33:23

标签: android slide

我正在尝试在Android中移动一张图片,但我真的找不到一种方法来做到这一点。我已经使用了几种方法,但它们都没有真正起作用,这是我目前的代码

public class Tangram extends Activity implements OnTouchListener{
ImageView img;
int x=0,y=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.tangram);

    img = (ImageView) findViewById(R.id.tangrampic1);
    img.setOnTouchListener(this);
    img.scrollBy(x, y);
}

 public boolean onTouch(View v, MotionEvent event) 
    { 
        switch (event.getAction())
        {
            case MotionEvent.ACTION_DOWN:
            {      
                  x++;
                     break; 
            }
            case MotionEvent.ACTION_UP:
            {             
                  x--;  
                 break;
            }
        }
        return true;
    }

}

有人知道如何移动物体吗?

2 个答案:

答案 0 :(得分:0)

我会按以下方式进行:   - 实现自己的观点   - 在此视图的ondraw方法中绘制图像(从offset 0/0开始)   - onTouch移动偏移量并使视图无效

答案 1 :(得分:0)

你试过这个 -

surf.setOnTouchListener( new SurfaceView.OnTouchListener(){
              public boolean onTouch(View v, MotionEvent event) {
                 case MotionEvent.ACTION_MOVE:
                    if( moving ){
                        final int x_new = (int)event.getX();
                        final int y_new = (int)event.getY();
                        mDrawTiles.draw( new DrawLogic(){
                            @Override
                            public void draw(Rect _surface) {
                                mTiles.setBounds(
                                    x_new - mDrawWidth/2,
                                    y_new - mDrawHeight/2,
                                    x_new + mDrawWidth/2,
                                    y_new + mDrawHeight/2);
                                }
                            });
                        }

并且,也请参考this