1

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;
    }

}

オブジェクトを移動する方法を知っている人はいますか?

4

2 に答える 2

0

私はそれを次のようにします:-独自のビューを実装します-このビューのondrawメソッドで画像をペイントします(オフセット0/0から開始)-onTouchはオフセットを移動し、ビューを無効にします

于 2012-04-19T09:44:03.127 に答える
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);
                                }
                            });
                        }

そして、これも参照してください。

于 2012-04-19T09:49:11.790 に答える