我在视图上有一个小按钮,我无法将其放大(推动者和振动器不希望它变大)。由于周围有其他视图,因此很难单击该按钮。在 androiddevcon III Dave 上,有人或其他人发表了关于扩展视图命中区域的演讲,但他没有在示例中包含代码。现在我试图弄清楚如何实际实现这一点。
如果在较大的矩形内发生单击,我想做的是触发 Button.onClick 事件。以下代码似乎在 2.3.4 模拟器中工作(很难说,因为模拟器没有我要测试的功能),但在运行 android 2.3.4 的摩托罗拉手机上根本没有。
View view=findViewById(R.id.Header);
view.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event) {
Rect rect=new Rect();
Button btn=(Button)findViewById(R.id.btn1);
btn.getHitRect(rect);
util.scaleRect(rect);
if (rect.contains((int)event.getX(), (int)event.getY())){
event.setLocation(rect.exactCenterX(), rect.exactCenterY());
btn.dispatchTouchEvent(event);
return true;
}
else{
return false;
}
}
});