相关疑难解决方法(0)

ViewPager拦截所有x轴onTouch事件.如何禁用?

范围

有两个片段的viewpager.其中一个片段有一个布局,可以在X轴上监听onTouch的变化.

问题

当沿X轴触摸和滑动时,布局几乎不会获得所有Action.Move事件.似乎viewpager有一个返回true的onInterceptTouchEvent.

覆盖viewpager的行为以使它和我的布局协同工作是真的吗?因此,完美的情况是布局拦截其上的所有onTouch事件,viewpager管理其余的onTouch事件.谢谢!

android ontouchlistener android-viewpager

33
推荐指数
2
解决办法
3万
查看次数

在ViewPager的片段内滑动ListView 47deg

我试图在ViewPager的一个片段中实现47Deg的Swipe ListView开源库.我在简单的Activity中尝试了这个库,它完美无缺.该库的参考如下:

图书馆GitHub

教程

YouTube教程

塞纳里奥

正如我所提到的,我想在ViewPager的片段中实现它,但是当我在列表项上滑动时,视图页面会滑开.我想在触摸列表项时擦除列表项,否则擦除片段.

我已经做了什么

我创建了一个自定义类CustomViewPager扩展了ViewPager {}并使用此处提供的解决方案禁用了触摸滑动.我还尝试使用onTouch,Clickable标签以及其他我可以做得最好的东西,因为我是新手.

帮助我解决这个问题.

android listview fragment android-viewpager

2
推荐指数
1
解决办法
1623
查看次数

触摸/拖动特定视图时禁用 viewpager

使用类似于此问题的答案的内容,我尝试在用户在特定项目上滑动时禁用 ViewPager 滑动操作。有问题的视图是来自MPAndroidChart库的可滚动图表,所以自然我不希望视图分页器干扰图表的滚动。

我遇到的问题是,在我想要的视图上调用 onTouchListener 之前,ViewPager 通常会调用“onInterceptTouch”。

在这段代码中,我在按下/未按下视图时进行录制:

private long lastDown;

private long lastUp;

...

public void foo(){

    barChart.setOnTouchListener(new View.OnTouchListener() {
      @Override
      public boolean onTouch(View v, MotionEvent event) {

        System.out.println("AAA");

        if(event.getAction() == MotionEvent.ACTION_DOWN){
          lastDown = System.currentTimeMillis();
        }else if(event.getAction() == MotionEvent.ACTION_UP){
          lastUp = System.currentTimeMillis();
        }

    return false;
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我确定是否选择了视图:

  public boolean isGraphTouched(){
    return lastDown > lastUp;
  }
Run Code Online (Sandbox Code Playgroud)

在这一段代码中,我覆盖了 onInterceptTouchEvent 方法:

  @Override
  public boolean onInterceptTouchEvent(MotionEvent ev) {
    System.out.println("BBB");
    return isGraphSelected() ? super.onInterceptTouchEvent(ev) : false;
  }
Run Code Online (Sandbox Code Playgroud)

如果您注意打印行,则 …

android android-fragments android-viewpager mpandroidchart

2
推荐指数
1
解决办法
1827
查看次数