Androidは、画像を画面上に任意に移動させる方法を実現します。(ドラッグ機能)


本明細書の例は、Androidが、画像をスクリーン上で任意に移動させる方法を実現することを示す。皆さんに参考にしてあげます。具体的には以下の通りです。

public class DragExampleActivity extends Activity {
  Bitmap mBitmap;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
    setContentView(new DragView(this));
  }
  @Override
  protected void onDestroy()
  {
    super.onDestroy();
    if(null != mBitmap) {
      mBitmap.recycle();
      mBitmap = null;
    }
  }
  private class DragView extends View {
    private int mMotionX = 0;
    private int mMotionY = 0;
    private Paint paint;
    public DragView(Context context)
    {
      super(context);
      paint = new Paint();
    }
    @Override
    public void draw(Canvas canvas)
    {
      super.draw(canvas);
      canvas.drawBitmap(mBitmap, mMotionX, mMotionY, paint);
    }
    @Override
    public boolean onTouchEvent(MotionEvent ev)
    {
      if(ev.getAction() == MotionEvent.ACTION_DOWN)
      {
        mMotionX = (int) ev.getX();
        mMotionY = (int) ev.getY();
        invalidate();
        return true;
      }else {
        return super.onTouchEvent(ev);
      }
    }
  }
}

Android関連の内容についてもっと興味がある読者は、当駅のテーマを調べてもいいです。「Android写真と画像処理技術のまとめ」、「Androidプログラミングのactivity操作技術のまとめ」、「AndroidビューViewテクニックのまとめ」、「Android操作SQLiteデータベース技術まとめ」、「Android操作json形式データ技術のまとめ」、「Androidデータベース操作技術のまとめ」、「Androidファイルの操作テクニックのまとめ」、「Androidプログラミング開発のSDカード操作方法のまとめ」、「Android開発入門と上級教程」、「Android資源操作技術のまとめ
ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。