1

我在视图上有一个小按钮,我无法将其放大(推动者和振动器不希望它变大)。由于周围有其他视图,因此很难单击该按钮。在 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;
            }
    }
    });
4

0 回答 0