我在视图上有一个小按钮,我无法做大(动子和振动器不希望它变大)。由于周围的其他视图,很难点击按钮。在androiddevcon III Dave有人或另一个人发表了关于扩大视图命中区域的讨论,但他没有在他的例子中包含代码。现在我想弄清楚如何实际实现这一点。
我想要做的是在更大的矩形内发生点击时触发Button.onClick事件。以下代码似乎在2.3.4模拟器中工作(很难说,因为模拟器没有我试图测试的功能)但在运行android 2.3.4的Motorolla手机上根本没有。
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;
}
}
});