我应该使用canvas android创建下面的图像,这里我想找出用户触点是否在弧内(即wx1,wx2 .. wx7)。我不确定找到用户触摸的角度。请给我一些建议。
这是绘制弧的代码,扫描角度根据条件而变化
for (int i = 0; i < 360; i = (i + 20)) {
if (i < 200 || i >= 340) {
canvas.drawArc(rect, i, (float) 20.2, false, darkGrey);
} else {
canvas.drawArc(rect, i, (float) 19, false, lightGrey);
}
}
这是图片
答案 0 :(得分:0)
首先,您必须创建矩形,并且必须在onTouch方法中以某种方式显示。因此,您将手动创建每个相关的drawable的Rectangle维度。到视图中的每个ui元素。附上
onTouchListener
到你的观点和
onTouch
方法将是:
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("Bounds","x : " + event.getX() + " y : " + event.getY());
if(rect1.contains((int)event.getX(), (int)event.getY())){
....
}else if(rect2.contains((int)event.getX(), (int)event.getY())){
....
}
return false;
}
查看以下参考资料: