我使用以下代码来旋转ImageView控件
ImageView Iv = new this.findViewById(id)
RotateAnimation a = new RotateAnimation(0, 60);
a.setFillAfter(true);
a.setFillBefore(false);
a.setDuration(0);
Iv.startAnimation(a);
上述代码的问题是ImageView看起来是旋转的,但无法正确点击。触发click事件的坐标是控件在旋转之前所在区域的坐标。
另外我尝试了另一个解决方案,我试着写一个自定义视图扩展ImageView并在onDraw()中旋转控件画布但是这个解决方案没有旋转控件,它旋转了控件的内容。
@Override
protected void onDraw(Canvas canvas)
{
canvas.rotate(60, getWidth() / 2, getHeight() / 2);
super.onDraw(canvas);
canvas.save();
canvas.restore();
}
@Override
protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(heightMeasureSpec, widthMeasureSpec);
setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
}
任何想法如何旋转控件本身并保持其可点击?
提前致谢,