我在列表中有一些动画的可绘制对象(图像)。 我想为每个对象创建onClickListener(或类似的东西),使它们从屏幕上消失。 我读过,Drawable对象是非交互元素。
在这种情况下,我该如何修改代码? http://pastebin.com/jNzi3qux
答案 0 :(得分:0)
您只需要针对触摸点测试每个雪花边界。请注意,根据您拥有的雪花数量,这可能会很慢,在这种情况下,您可能需要查看四叉树或kd树https://en.wikipedia.org/wiki/K-d_tree。但这有点先进。
@Override
public boolean onTouchEvent(MotionEvent event) {
for (int i = 0; i < snow_flake_count; i++) {
Drawable snowflake = drawables.get(i);
if( snowflake.getBounds().contains(event.getX(), event.getY())
{
//Do whatever you need to do
}
}
return super.onTouchEvent(event);
}