我基本上試圖實現類似於this的東西。不幸的是,這是一個iOS教程。沿着圓形路徑旋轉圖標/視圖,滾動 - Android
我已經搜索了大多數可能的關鍵字以循環方式移動某些東西,但找不到任何開始。 atleast中的任何人都可以提供有關如何在Android上黑客入侵的提示嗎?請。
謝謝。
我基本上試圖實現類似於this的東西。不幸的是,這是一個iOS教程。沿着圓形路徑旋轉圖標/視圖,滾動 - Android
我已經搜索了大多數可能的關鍵字以循環方式移動某些東西,但找不到任何開始。 atleast中的任何人都可以提供有關如何在Android上黑客入侵的提示嗎?請。
謝謝。
這在自定義控件中很容易實現。只需創建一個擴展View並重寫draw()方法的類。然後,您可以聆聽觸摸並計算用戶旋轉控制的距離。然後,您只需使用該數據旋轉畫布並在其上繪製數字即可。
- = Update = - 當您重寫draw方法時,您將獲得一個Canvas對象。這個對象可以讓你畫出你想要的東西。它看起來像這樣:
@Override
public void draw(Canvas c)
{
c.rotate(amount);
c.drawBitmap(myImage);
}
這是一個鏈接到完整Canvas Documentation。
我用旋轉動畫來旋轉一個點的圖像。
double r = Math.atan2(evt.getX() - turntable.getWidth()/2, turntable.getHeight()/2 - evt.getY());
rotation = (int) Math.toDegrees(r);
if (evt.getAction() == MotionEvent.ACTION_MOVE)
{
x= (int)evt.getX();
y = (int)evt.getY();
rotateAnim = new RotateAnimation(angle,rotation-50,200,100);
rotateAnim.setFillAfter(true);
ImageView.setanimation(rotateAnim);
ImageView.startAnimation(rotateAnim);
}
你也可以用矩陣
float newRot = new Float(rot);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.disc);
Matrix matrix = new Matrix();
matrix.postRotate(newRot - 50);
Bitmap redrawnBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
turntable.setImageBitmap(redrawnBitmap);
感謝您的答覆,問題是旋轉部分。我如何使一個圖標/圖像按鈕(在我的情況下)在圓形路徑中旋轉,類似於在滾動視圖上上下滾動的效果。我現在幾乎在學習android,請你給我更多的解釋。 – Wesley
已更新的答案。 – CaseyB