我基本上是在尝试实现类似于this的东西。可悲的是,这是一个 iOS 教程。
我已经搜索了大多数可能的关键字以循环方式移动某些内容,但找不到任何开始。至少有人可以提供有关如何在 android 上被黑客入侵的任何提示吗?请。
谢谢。
我基本上是在尝试实现类似于this的东西。可悲的是,这是一个 iOS 教程。
我已经搜索了大多数可能的关键字以循环方式移动某些内容,但找不到任何开始。至少有人可以提供有关如何在 android 上被黑客入侵的任何提示吗?请。
谢谢。
我使用旋转动画来围绕一个点旋转图像。
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);
这在自定义控件中很容易做到。只需创建一个扩展 View 的类并覆盖 draw() 方法。然后您可以监听触摸并计算用户旋转控件的距离。然后您只需要使用该数据来旋转画布并在其上绘制数字。
-= 更新 =- 当你重写 draw 方法时,你会得到一个 Canvas 对象。该对象可让您随心所欲地绘制它。它看起来像这样:
@Override
public void draw(Canvas c)
{
c.rotate(amount);
c.drawBitmap(myImage);
}
这是完整Canvas 文档的链接。