我想向我的图像按钮添加调整大小和旋转按钮。我已经在SS中设计了UI。我已经将所有3个图像按钮都设置为相对布局,并且主按钮的高度和宽度设置为MATCH_PARENT
,现在我想为其添加代码。目前,我已经成功实现了调整大小按钮,但是仅当旋转为0时才执行。这是调整大小按钮的onTouchListener
声明。
View.OnTouchListener resizeListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent e) {
RelativeLayout v = (RelativeLayout) view.getParent();
switch (e.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
dX = v.getWidth() - e.getRawX();
dY = v.getHeight() - e.getRawY();
break;
case MotionEvent.ACTION_MOVE:
x = (e.getRawX() + dX);
y = (e.getRawY() + dY);
lp = new RelativeLayout.LayoutParams((int) x, (int) y);
v.setLayoutParams(lp);
break;
default:
return false;
}
return false;
}
};
((我已将变量声明为全局变量。代码中未提及声明)
此代码可按我的要求工作,但仅当RelatieLayout的旋转度为0时。请建议实现添加我的调整大小按钮以进行任何旋转,并建议添加实现我的旋转按钮以使用一根手指旋转视图。
我认为您需要同时执行修复
但是您可以尝试使此动画逆时针旋转
public void rotate_Clockwise(View view) {
ObjectAnimator rotate = ObjectAnimator.ofFloat(view, "rotation", 180f, 0f);
rotate.setRepeatCount(10);
rotate.setDuration(500);
rotate.start();
}
public void rorate_AntiClockwise(View view) {
ObjectAnimator rotate = ObjectAnimator.ofFloat(view, "rotation", 0f, 180f);
rotate.setRepeatCount(10);
rotate.setDuration(500);
rotate.start();
}