android如何获取手指在TextView上面滑动的距离? 我现在做了一个ViewFillper,上面有文本框,现在我想手指在文本框上面的文字上面滑动也能实现翻页效果,可是我现在只能在没有文字的地方滑动了来翻页,也就是没有文本框的位置才能做滑动翻页操作。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给TextView添加OnTouchListener事件,结合ACTION_DOWN、ACTION_MOVE、ACTION_UP即可达到效果public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { // TODO 触摸时按下 } else if (event.getAction() == MotionEvent.ACTION_MOVE) { // TODO 触摸时移动 } else if (event.getAction() == MotionEvent.ACTION_UP) { // TODO 触摸时抬起 } return false; } 不知道为什么,照你说的方法做,down时间能响应,但是UP事件总是没响应,我自己做了一个简单的输出程序试了一下也是这样,请问是不是我哪里写错了了import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.TextView;import android.widget.Toast;public class CheckActivity extends Activity implements OnTouchListener{ /** Called when the activity is first created. */ float down,up; TextView tv=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv=(TextView)this.findViewById(R.id.tv); tv.setOnTouchListener(this); } @Override public boolean onTouch(View v, MotionEvent event) { if(v==tv){ if (event.getAction() == MotionEvent.ACTION_DOWN) { down=event.getX(); Toast.makeText(this, down+"", 1).show(); } else if (event.getAction() == MotionEvent.ACTION_MOVE) { } else if (event.getAction() == MotionEvent.ACTION_UP) { up=event.getX(); Toast.makeText(this, up+"", 1).show(); } } return false; }}我意图是想输出按下的x坐标和释放时的x坐标,因为我想求出滑动的距离出来 用不要用Toast输出坐标信息,改用Log的方式输出信息,由于MotionEvent事件是非常频繁的,所以会导致你可能看不到相应的Toast。 我用log来输出,也只是看到donw的坐标,up的坐标没看到,我总找不出问题在哪里是不是onTouch事件down了之后就结束了 懂了,原来是return false;没改成return true;搞了好久,不过还是谢谢大家了 开机启动后台进程检测是否有文件被下载 webview滚动时back退出应用crash,急! 怎么改变contextMenu的背景 android 在线网络电台收听 关于3.0版本的android.graphics.Canvas.getGL没有了的问题 怎么改变tabhost选项卡被选中的图片 有本事就进来 anroid 中关于apn默认配置文件 android 本地html无法播放mp3 关于android6.0的jack编译器 如何在ActionBar中addTab时设置Tab的置底? 开启存在的activity的问题
// TODO 触摸时按下
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
// TODO 触摸时移动
} else if (event.getAction() == MotionEvent.ACTION_UP) {
// TODO 触摸时抬起
}
return false;
}
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.TextView;
import android.widget.Toast;
public class CheckActivity extends Activity implements OnTouchListener{
/** Called when the activity is first created. */
float down,up;
TextView tv=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv=(TextView)this.findViewById(R.id.tv);
tv.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if(v==tv){
if (event.getAction() == MotionEvent.ACTION_DOWN) {
down=event.getX();
Toast.makeText(this, down+"", 1).show();
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
} else if (event.getAction() == MotionEvent.ACTION_UP) {
up=event.getX();
Toast.makeText(this, up+"", 1).show();
}
}
return false;
}
}
我意图是想输出按下的x坐标和释放时的x坐标,因为我想求出滑动的距离出来
是不是onTouch事件down了之后就结束了