在android中拖放文本视图

在android中拖放文本视图,android,drag-and-drop,Android,Drag And Drop,我想在android 2.X中拖放图像上的文本视图 请看下图。 这里,“蓝色”表示视图GROP,“白色”表示ImageView,图像设置在ImageView上。 写着“Fashion”的文本是一个文本视图。这就是我如何实现这个结构的。现在我想允许用户选择TextView并将其拖动到图像的任何部分,然后将其放置在图像上所需的位置 到目前为止,我试图引用以下url,但每当我使用TextView而不是Button时,就会出现异常情况 有谁能给我一张路线图或一个例子来完成它吗?相反,请尝试将您的Im

我想在android 2.X中拖放图像上的文本视图

请看下图。

这里,“蓝色”表示视图GROP,“白色”表示ImageView,图像设置在ImageView上。 写着“Fashion”的文本是一个文本视图。这就是我如何实现这个结构的。现在我想允许用户选择TextView并将其拖动到图像的任何部分,然后将其放置在图像上所需的位置

到目前为止,我试图引用以下url,但每当我使用TextView而不是Button时,就会出现异常情况


有谁能给我一张路线图或一个例子来完成它吗?

相反,请尝试将您的ImageView作为画布来绘制

ImageView CanvasView=(ImageView)findViewById(R.id.fashion\u pic)

从这里,您可以创建自己的位图,并在触摸事件后重新绘制。以下代码段包含了针对2.1(或2.2,我不记得了)中错误的必要解决方法:

在这里,您已经创建了一个画布,它已经将您的图片作为背景,并在x和y变量处绘制文本。现在,只需设置一个OnTouchListener:

CanvasView.setOnTouchListener( new OnTouchListener(){

    public boolean onTouch(View v, MotionEvent e) {

        someGlobalXvariable = e.getX();
        someGlobalYvariable = e.getY();
        redrawImage();
        return true;
    }
});
正如您所见,当您的图像被触摸时,监听器会自动更新图像,文本将跟随用户的手指。由于您使用的是位图作为画布,如果您的应用程序希望具有此类功能,您还可以添加对保存/加载图像的支持


编辑:如果从
重画图像()
中移动第1-3行并将其放置在其他位置,将这些对象设置为全局对象,可能会对性能更友好。我会让你修改的。

如果你真的问了一个问题,你的问题会更容易得到答案。哦,我明白了,我只是要一张路线图。位图在这里不断绘制,我需要回收任何东西吗?是否可以使用TextView而不是canvas.drawText,因为文本的质量比drawText好得多。问题1:请看我编辑的答案,您应该将这些对象移到其他位置。问题2:使用Canvas.drawText()可以获得完全相同的外观。尝试使用
Paint.setAntialiasing()
CanvasView.setOnTouchListener( new OnTouchListener(){

    public boolean onTouch(View v, MotionEvent e) {

        someGlobalXvariable = e.getX();
        someGlobalYvariable = e.getY();
        redrawImage();
        return true;
    }
});