我的布局类似于捕捉。绿色矩形放置在水平滚动条中,当用户触摸一个时,启动另一个活动。蓝色矩形是其他层,就像水平滚动条一样。
我的问题:当用户触摸绿色矩形时,我需要知道触摸的绿色矩形放在哪个红色矩形中。
有没有简单的方法来获得视图的特定祖先?我希望能够添加和删除更多“蓝色矩形”,所以我不想要view.getParent().getParent().getParent()
之类的东西。
谢谢!
答案 0 :(得分:1)
两种方式,
更简单:
将红色标记设置为其包含的所有子标记,现在当孩子接收到Touch时,您可以通过getTag方法轻松找出红色中的父级。
小巧但很凉爽:
一个。维护所有红色视图的列表 湾在绿色触摸上实施 C。当你接触到触摸时获取x,y d。一旦你收到Touch,循环遍历红色视图列表,获得每个红色视图的Hit Rect,一旦你得到命中rect,只需检查它是否包含你收到的x,y。一旦找到匹配返回。 Wollah你有父母的观点。
希望有所帮助。