使用一个onClick()动画多个视图

时间:2018-01-17 12:39:21

标签: java android android-studio imageview android-imageview

在我的Android应用中,我有一些自定义视图(作为AppCompatImageView的扩展名),在类中有onClick方法执行一些动画。

点击视图时,它会移动到屏幕的某个点。但是,如果那里已经存在一个视图(之前已被挖掘过),我需要将其移开。如何点击一个视图来调用方法(它可以是相同的方法,并且视图将属于同一个类),对于轻敲按钮和任何(如果有)视图已经“停靠”在此位置。

这些类有onClick方法可以正常工作:

public class CustomView extends AppCompatImageView implements View.OnClickListener {

    private boolean docked;

    ...

    @Override
    public void onClick (View v) {
        if (docked)
            //Perform some action
        else
            //Perform another action
    }
}

视图都是同一个类,并在主活动中的运行时创建,然后添加到布局中。

有人能建议解决这个问题的最佳方法吗?

2 个答案:

答案 0 :(得分:0)

也许你可以使用BroadcastReceiver。在点击其他视图移动的视图时发送广播。将BroadcastReceiver类写在同一个类中。

答案 1 :(得分:0)

如果您有已经点击的视图,请在该视图上调用此方法performClick()以调用其onClick()方法。因此,两个视图(当前点击和之前点击的)onClick()方法都会调用。