我制作了一个自定义视图 - 它扩展了View. 在该onDraw()方法中,我创建了一个具有设定半径的圆。目前在我的 xml 中,我将layout_widthandlayout_height设置为wrap_content. 圆圈大小合适,但是当我设置一个时,onClickListener我不必触摸圆圈即可注册。我可以点击没有其他视图的任何地方。
onMeasure我想我需要用or做点什么,LayoutParams但我不知道到底是什么。
目的是仅当我单击带有且仍设置为onClickListener的圆圈时才调用。layout_widthheightwrap_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);
}