关于安卓左右滑动onFling()不灵敏的问题
这是部分代码,可以滑动,但是只有往左滑动灵敏,往右滑动时而能滑动,时而滑动不了
/**
* 初始化手势识别器
*/
public void initGesture()
{
gd=new GestureDetector(new GestureDetector.OnGestureListener() {
//覆盖此方法,实现手指滑动切换界面效果
/**
*
* @param e1 按下的点的位置
* @param e2 松开的点的位置
* @param velocityX X轴方向的速度
* @param velocityY Y轴方向的速度
* @return
*/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//判断X轴方向的速度是否满足横向滑动的条件
if(velocityX>100)//速度大于200像素每秒,则可以滑动
{
float dx=e2.getX()-e1.getX();//横向滑动的距离
if(Math.abs(dx)<100)//滑动距离小于200像素,则滑动无效
{ //Math.abs(dx)表示对dx取绝对值
return true;
}
if(dx<0)//向右滑动
{
//调用next方法
next(null);//因为不是组件调用的该方法,所以传个null即可
}
else{//向左滑动
//调用prev方法
prev(null);//因为不是组件调用的该方法,所以传个null即可
}
}
return true;
}
@Override
public boolean onDown(MotionEvent e) {
return true;
}
@Override
public void onShowPress(MotionEvent e) {
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return false;
}
@Override
public void onLongPress(MotionEvent e) {
}
});
}
/**
* 给手势识别器绑定onTouch事件
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
return gd.onTouchEvent(event);
}
...全文
相关推荐
OnFling左右滑动效果
总结来说,实现"OnFling"左右滑动效果的关键在于理解和使用`GestureDetector`的`onFling()`方法,以及有效地集成`ViewPager`进行页面切换。
Listview的左右滑动实现
在onFling()方法中判断滑动方向并切换Activity:```java@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2,
Android使用ViewFlipper实现左右滑动效果面
在onFling()方法中,判断滑动的方向,如果满足左右滑动条件,则切换ViewFlipper中的视图。2.
android左右滑动翻页查看图片
可以重写`ViewPager`的`onTouchEvent()`方法,调用`GestureDetector`处理滑动事件。至此,我们就完成了基于Android手势检测的左右滑动查看图片的功能。
android 左右滑动切换页面
在Android开发中,实现左右滑动切换页面是一种常见的交互设计,可以提供用户友好的体验,类似于许多新闻客户端,如网易新闻客户端,用户可以通过简单的左右滑动来浏览不同的内容板块。


