[英]How to add rotate and resize buttons to a view in android
我想向我的图像按钮添加调整大小和旋转按钮。 我设计的 UI 就像在 SS 中一样。 我已将所有 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 时。请建议实现以添加我的调整大小按钮以在任何旋转中工作,并实现添加我的旋转按钮以使用一根手指旋转视图。
你需要同时执行 aniamtion 我认为
但是你可以试试这个动画逆时针旋转
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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.