Android 我怎么能用手势拖动它?

Android 我怎么能用手势拖动它?,android,gesture,gesture-recognition,gestures,android-gesture,Android,Gesture,Gesture Recognition,Gestures,Android Gesture,通过使用手势,我可以像这样拖动图像吗?我的意思是,我必须拖动它作为记号。因此,必须使用onClickListener。在它执行之后,它应该能够最终在显示部分打开另一个屏幕 当我使用我的手时,我的意思是如果我打勾标记,那么它应该能够调用特定的方法 我想写一个代码,通过使用手势,它应该能够执行或拖动时,我喜欢下面的图片。这里的功能在手势中是如何工作的?我应该如何编写代码 我怎么能这样做?有人能给我提个建议吗?我想你的要求与我的要求差不多。下面是由提供的源代码。顺便说一句,虽然您提供的示例复选标记图像

通过使用手势,我可以像这样拖动图像吗?我的意思是,我必须拖动它作为记号。因此,必须使用onClickListener。在它执行之后,它应该能够最终在显示部分打开另一个屏幕

当我使用我的手时,我的意思是如果我打勾标记,那么它应该能够调用特定的方法

我想写一个代码,通过使用手势,它应该能够执行或拖动时,我喜欢下面的图片。这里的功能在手势中是如何工作的?我应该如何编写代码


我怎么能这样做?有人能给我提个建议吗?

我想你的要求与我的要求差不多。下面是由提供的源代码。顺便说一句,虽然您提供的示例复选标记图像很可爱,但Android并不关心您的图像是球图像、复选标记图像还是其他图像,因此下面的代码仍然适用

package com.examples.Touchmoveimage;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;

public class Touchmoveimage extends Activity {

    int windowwidth;
    int windowheight;

    private LayoutParams layoutParams ;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    windowwidth = getWindowManager().getDefaultDisplay().getWidth();
    windowheight = getWindowManager().getDefaultDisplay().getHeight();
    final ImageView balls = (ImageView)findViewById(R.id.ball);

    balls.setOnTouchListener(new View.OnTouchListener() {

                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        LayoutParams layoutParams = (LayoutParams) balls.getLayoutParams();
                        switch(event.getAction())
                        {
                        case MotionEvent.ACTION_DOWN:   
                                                        break;
                        case MotionEvent.ACTION_MOVE:
                                                        int x_cord = (int)event.getRawX();
                                                        int y_cord = (int)event.getRawY();

                                                        if(x_cord>windowwidth){x_cord=windowwidth;}
                                                        if(y_cord>windowheight){y_cord=windowheight;}

                                                        layoutParams.leftMargin = x_cord -25;
                                                        layoutParams.topMargin = y_cord - 75;

                                                        balls.setLayoutParams(layoutParams);
                                                        break;
                        default:
                                                        break;
                        }
                            return true;
                    }
            });
}
}
这解决了你大部分的问题,但不是全部。你还问,

执行后,它应该能够打开另一个屏幕 最后在一个显示部分

答案可能包括创建一个意图对象(在构造函数中定义了新活动并启动它。关于这个主题有一个很好的教程。它的核心(切换活动)是这样的:

Intent k = new Intent("com.example.ActivityYouWantToGoTo");
startActivity(k);

您需要完成与创建新活动相关的所有步骤。(例如,不要忘记更新清单。)使您的代码同时执行(a)拖动复选框和(b)切换到新活动时,您需要结合上述概念。您没有告诉我们您希望在什么情况下拖动对象或切换活动(例如,拖动一次后?何时拖动到特定位置?等等),但您需要定义这些条件,然后在满足这些条件时调用新活动。

问题不是关于做复选标记的手势,而答案并不能完全回答吗?