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