如何将onClickListener添加到Android中的Drawable对象?

时间:2016-11-01 11:22:34

标签: android onclicklistener drawable

我在列表中有一些动画的可绘制对象(图像)。 我想为每个对象创建onClickListener(或类似的东西),使它们从屏幕上消失。 我读过,Drawable对象是非交互元素。

在这种情况下,我该如何修改代码? http://pastebin.com/jNzi3qux

1 个答案:

答案 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);
    }