如何将TextView移动到屏幕上的任何位置?

时间:2014-04-01 12:52:59

标签: android textview

我有一个相对布局,其中我有一个TextView有一些文字"嗨!这是约翰"。我想将文本移动到屏幕上的任何位置,触摸文本。我在文本视图上使用onTouchListener()。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:0)

仔细跟着,非常怎么设置动画? Android Working with XML Animations然后访问android: move a view on touch move (ACTION_MOVE)

答案 1 :(得分:0)

onTouch上设置TextView监听器并根据其位置将其移至MotionEvent.ACTION_UP事件所需的其他位置。

private final static int START_DRAGGING = 0;
    private final static int STOP_DRAGGING = 1;   
    private int status;
    int flag=0;
    float xAxis = 0f;
    float yAxis = 0f;
    float lastXAxis = 0f;
    float lastYAxis = 0f;
...     
@Override
public boolean onTouch(View v, MotionEvent me){
          if(me.getAction()==MotionEvent.ACTION_DOWN){
          status = START_DRAGGING;
          final float x = me.getX();
          final float y = me.getY();
          lastXAxis = x;
          lastYAxis = y;
          v.setVisibility(View.INVISIBLE);
          }else if(me.getAction()==MotionEvent.ACTION_UP){
          status = STOP_DRAGGING;
          flag=0;
          v.setVisibility(View.VISIBLE);
          }else if(me.getAction()==MotionEvent.ACTION_MOVE){
          if (status == START_DRAGGING){
          flag=1;
          v.setVisibility(View.VISIBLE);
          final float x = me.getX();
          final float y = me.getY();
          final float dx = x - lastXAxis;
          final float dy = y - lastYAxis;
          xAxis += dx;
          yAxis += dy;
          v.setX((int)xAxis);
          v.setY((int)yAxis);
          v.invalidate();
          }
        }
        return false;
      }