我制作了一个自定义视图 - 它扩展了View
. 在该onDraw()
方法中,我创建了一个具有设定半径的圆。目前在我的 xml 中,我将layout_width
andlayout_height
设置为wrap_content
. 圆圈大小合适,但是当我设置一个时,onClickListener
我不必触摸圆圈即可注册。我可以点击没有其他视图的任何地方。
onMeasure
我想我需要用or做点什么,LayoutParams
但我不知道到底是什么。
目的是仅当我单击带有且仍设置为onClickListener
的圆圈时才调用。layout_width
height
wrap_content
编辑:
这会创建一个正方形而不是我想要的圆形。
这是我的代码:
protected void onDraw(Canvas canvas) {
canvas.drawCircle(canvas.getWidth() /2 , canvas.getHeight() /2,
RADIUS, paint);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
widthMeasureSpec = RADIUS;
heightMeasureSpec = RADIUS;
setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);
}