自定义 class 的所有实例的 onTouch 侦听器

onTouch listener for all the instances of a custom class

我有一个扩展 ImageView 的自定义 class:

public class DraggableImageView extends android.support.v7.widget.AppCompatImageView {

    public DraggableImageView(Context context) {
        super(context);
    }


    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
    }
}

我想在自定义 class 中创建一个 onTouchListener,以便每个实例都以相同的方式运行。

我也想知道如何从class本身引用实例,例如,如果我有一个DraggableImageView实例,我调用它的自定义方法"ciccio",ciccio如何更改实例的一些参数(例如图像的位置或来源)?

在此先感谢您的帮助,

洛伦佐

要在您的自定义视图中添加触摸侦听器,您只需重写方法 onTouchEvent

另一种方法是在构造函数中设置新的 OnTouchListener,但建议覆盖 onTouchEvent

不确定从 class 本身引用实例是什么意思。这是一件非常基本的事情。您可以直接使用它们,也可以使用“this”关键字。例如。 this.getHeight()this.setLayoutParams(/*params*/)