如何在XML中实现OnTouch侦听器

Att*_*lah 6 android ontouchlistener android-xml onclicklistener

据我所知,我们可以在xml中编写后在xml中定义onClick标记,我们可以通过xml中指定的名称轻松地在java代码中使用,例如

<Button android:id="@+id/mybutton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:onClick="myClick" />

public void myClick(View v) {
    // does something very
}
Run Code Online (Sandbox Code Playgroud)

1)是否有任何方式onTouch在XML中定义如果是,那么如何使用???

2)或者onTouchonClick侦听器内部实现Listener的任何其他方式;

在这里我的目标是交互超过100个按钮而不定义按钮名称如下所述:并且还具有onTouch功能......

    Button mbutton;
    mbutton = (Button)findViewbyId(R.id.button);
Run Code Online (Sandbox Code Playgroud)

谢谢

Apu*_*rva 8

1)有什么方法可以在 XML 中定义 onTouch 如果是,那么如何使用???

,android 没有提供默认属性让您在xml文件中定义触摸事件,您必须在 .java 文件中编写方法。

2)或者任何其他方式在onClick监听器中实现onTouch监听器;

,您不能onTouch()在内部实现,onClick()因为当您第一次触摸或说点击或点击屏幕时会调用 onClick 事件,并在您释放触摸时执行该事件。但它不能检测到您的触摸即动作ACTION_DOWNACTION_UP等等。

因此,如果您想实现onTouch()事件,则必须自己编写。

您可以编写一些可以让您onTouch()轻松实现事件的机制。但是我建议您使用Butterknife库而不是这样做,它可以让您onTouch()轻松地通过定义annotation. 这是他们如何在注释中绑定 onTouch()的代码(以防您想编写自己的机制)。