委派触摸事件

时间:2010-12-14 13:02:32

标签: android events delegates touch

假设我有一个LinearLayout,水平包含一个TextView,然后是一个Spinner或另一个clicable TextView或EditText。

我希望点击该行的任何部分(如果布局有填充,那么布局区域也是!)将onTouchEvent删除到布局的右侧部分(EditText,TextView或Spinner),就好像它们一样点击了自己。

自己动手将需要我创建我自己的那些小部件版本(太多工作效果不大:-()或者将听众放在触摸事件的许多项目上并委托他们。我很确定Android有一些这样做的方法或属性,到目前为止还没有看到。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我不得不做一些类似于此的事情,最后写了我自己的委托,并为我的布局中的所有组件分配了onclicklistener给该委托。它很麻烦,但实施起来并不太痛苦,结果很好。

重点是,我没有在API中看到任何处理这类事情的东西。我可能提供的另一件事是,当然可以将onclicklistener分配给组件,并简单地将事件发送到另一个组件的onclicklistener,如下所示:

thislinearlayout.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        getOtherComponent().performClick();
    }
});

您可以使用触控侦听器执行相同的操作。