Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 触摸和多点触摸事件_Android - Fatal编程技术网

Android 触摸和多点触摸事件

Android 触摸和多点触摸事件,android,Android,考虑一个相对布局,其中有三个大小可变的按钮,没有锚定参数,导致所有按钮都绘制在屏幕的左上角。考虑正在生成的单个物理触摸事件。以下哪个按钮将看到此事件?如果这三个都已注册为onTouch侦听器。这种行为背后的过程是怎样的?RelativeLayout在其内部的元素之间创建层次结构。您放在最低行的项目将位于所有其他项目的顶部。当您单击时,将调用其onClick方法。例如,RelativeLayout内有两个按钮,如: <Button android:id="@+id/button_a"

考虑一个相对布局,其中有三个大小可变的按钮,没有锚定参数,导致所有按钮都绘制在屏幕的左上角。考虑正在生成的单个物理触摸事件。以下哪个按钮将看到此事件?如果这三个都已注册为onTouch侦听器。这种行为背后的过程是怎样的?

RelativeLayout
在其内部的元素之间创建层次结构。您放在最低行的项目将位于所有其他项目的顶部。当您单击时,将调用其onClick方法。例如,RelativeLayout内有两个按钮,如:

<Button
    android:id="@+id/button_a"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="You won't see this" />

<Button
    android:id="@+id/button_b"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="You will see this" />
在这种情况下,当您点击这些按钮时,您将始终看到屏幕上单击的
按钮B

findViewById(R.id.button_a).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Toast.makeText(this, "Button A clicked.", Toast.LENGTH_LONG).show();
    }
});
findViewById(R.id.button_b).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Toast.makeText(getContext(), "Button B clicked", Toast.LENGTH_LONG).show();
    }
});