onTouchEvent里的setRotation方法怎样用
时间: 2024-01-22 21:19:11 浏览: 17
在 Android 中,`setRotation()` 方法用于设置一个 View 的旋转角度。它会影响该 View 及其子 View 的绘制和布局。
在 `onTouchEvent()` 方法中使用 `setRotation()` 方法可以让我们根据手指触摸位置来旋转一个 View。例如,我们可以创建一个自定义 View,并在 `onTouchEvent()` 方法中根据手指移动的位置来旋转它。示例代码如下:
```java
public class CustomView extends View {
private float lastRotation = 0f;
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
lastRotation = getRotation();
break;
case MotionEvent.ACTION_MOVE:
float rotation = event.getX() - lastRotation;
setRotation(rotation);
break;
case MotionEvent.ACTION_UP:
break;
default:
return false;
}
return true;
}
}
```
在上面的代码中,我们记录了上一个旋转角度 `lastRotation`,并在 `ACTION_DOWN` 事件中将其设置为当前 View 的旋转角度。在 `ACTION_MOVE` 事件中,我们计算出手指移动的距离 `rotation`,并将其传递给 `setRotation()` 方法来旋转 View。最后,在 `ACTION_UP` 事件中我们可以做一些清理工作。
需要注意的是,`setRotation()` 方法的参数是一个浮点数,表示旋转的角度。正值表示顺时针旋转,负值表示逆时针旋转。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)