如何为现有视图设置我的运动监听器

时间:2016-01-17 04:53:07

标签: android android-layout kotlin

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

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

1 个答案:

答案 0 :(得分:2)

  

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

您在此处展示的语法很可能受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()方法。如果要为视图添加双击支持,则需要使用GestureDetectors。而且,如果您希望在扩展函数的帮助下编写此代码,例如在Anko中,可以找到文档here