知识点积累:
- 弧度的计算公式为:
角度 *(π/180);sinα中α是弧度制 - 点位是否在矩形中
rect.contains(x, y)
遇到的问题:
1. 自定义可拖动view,父布局重绘导致回到初始位置
/**
* 父布局重绘时,为了实现拖动位置不回到初始位置,
* 需要在位置改变的同时设置LayoutParams,以此在父布局中更新view位置。
*
* MotionEvent.ACTION_UP
*/
private void keepLayout(int left, int top) {
LayoutParams params = (LayoutParams) getLayoutParams();
// 指定宽高
params.width =getExactWidth(); //getMeasureWidth()
params.height = getExactHeight(); //getMeasureHeight()
params.setMargins(left, top, 0, 0);
setLayoutParams(params);
}