如何为存在视图设置我的运动侦听器



例如,为VideoView添加双击侦听器。我希望它支持以下代码:

//Player.kt
var vv = findViewById(R.id.player) as VideoView
vv.onDoubleClick {
  // do something
}

我希望它支持以下代码:
...

您在此处显示的语法很可能受到 Anko 库的启发,该库具有一些扩展函数,允许您以这种漂亮的方式添加View侦听器:

button.onClick {
    Toast.makeText(this, "Hi there!", Toast.LENGTH_SHORT);
}

而不是冗长的 Java 语法:

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(this, "Hi there!", Toast.LENGTH_LONG).show();
    }
});

不幸的是,Anko 没有onDoubleClick扩展函数(好吧,View也没有setOnDoubleClickListener()方法)。如果要向视图添加双击支持,则需要使用手势检测器。而且,如果您希望在扩展函数的帮助下编写此代码,例如在 Anko 中,可以在此处找到文档。

最新更新