扩展视图的命中区域

时间:2012-12-10 19:01:20

标签: android

我在视图上有一个小按钮,我无法做大(动子和振动器不希望它变大)。由于周围的其他视图,很难点击按钮。在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;
            }
    }
    });

0 个答案:

没有答案
相关问题