2014-04-07 177 views
3

我想知道如何用單點觸摸手勢來旋轉位圖圖像。請幫助並提出一些解決方案。我完成縮放位圖的幫助下Android-用單指手勢旋轉圖像

http://grishma102.blogspot.in/2013/10/drag-and-drop-functionality-to-move.html。現在我需要旋轉整個圖像,同時觸摸並旋轉調整大小按鈕。如何實現它?

在此先感謝

enter image description here

+0

旋轉是指你想移動圖像的位置? – InnocentKiller

+0

@InnocentKiller當我們觸摸並旋轉調整大小按鈕時,圖像應該根據手勢動作轉動。 – Sangu

回答

5

看看我的BlogSpot中,我試圖實現上伸展箭頭點擊圖像,並刪除它的功能,並且還可以移動的圖像屏幕使用手勢。

Drag-Drop image還檢查了Demo of DragDropImage

enter image description here

+0

非常感謝@grishu。以及如何在觸摸並旋轉綠色圖標時旋轉圖像。如何提高伸展功能的速度。 – Sangu

+0

謝謝.. @GrIsHu – Sangu

0

函數來處理旋轉用一個手指,其主要思想是計算的centerX和視圖的centerY並考慮到,如果你的狀態欄高度使用一個。

 @Override 
     public boolean onTouch(View view, MotionEvent event) { 
     switch (action) { 
       case MotionEvent.ACTION_UP: 
        break; 
       case MotionEvent.ACTION_DOWN: 

        rotateX = event.getRawX(); 
        rotateY = event.getRawY(); 

        centerX = view.getX() + ((View) getParent()).getX() + (float) view.getWidth()/2; 

        centerY = view.getY() + statusBarHeight + (float) view.getHeight()/2; 

        break; 

       case MotionEvent.ACTION_MOVE: 

        newRotateX = event.getRawX(); 
        newRotateY = event.getRawY(); 

        double angle = Math.atan2(event.getRawY() - centerY, event.getRawX() - centerX) * 180/Math.PI; 

        view.setRotation((float) angle - 45); 

        rotateX = newRotateX; 
        rotateY = newRotateY; 

      } 
     } 

     return true; 
    } 
};