假设我有一个LinearLayout,水平包含一个TextView,然后是一个Spinner或另一个clicable TextView或EditText。
我希望点击该行的任何部分(如果布局有填充,那么布局区域也是!)将onTouchEvent删除到布局的右侧部分(EditText,TextView或Spinner),就好像它们一样点击了自己。
自己动手将需要我创建我自己的那些小部件版本(太多工作效果不大:-()或者将听众放在触摸事件的许多项目上并委托他们。我很确定Android有一些这样做的方法或属性,到目前为止还没有看到。
有人可以帮忙吗?
答案 0 :(得分:1)
我不得不做一些类似于此的事情,最后写了我自己的委托,并为我的布局中的所有组件分配了onclicklistener给该委托。它很麻烦,但实施起来并不太痛苦,结果很好。
重点是,我没有在API中看到任何处理这类事情的东西。我可能提供的另一件事是,当然可以将onclicklistener分配给组件,并简单地将事件发送到另一个组件的onclicklistener,如下所示:
thislinearlayout.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
getOtherComponent().performClick();
}
});
您可以使用触控侦听器执行相同的操作。