我使用允许我们在选项卡之间水平滑动的模板
但是我的选项卡之一是MapView,因此当我在该 MapView 中向左/向右滑动时,它将切换选项卡而不是移动地图。
有没有办法仅在该 MapView 选项卡中禁用手势?
谢谢
我使用允许我们在选项卡之间水平滑动的模板
但是我的选项卡之一是MapView,因此当我在该 MapView 中向左/向右滑动时,它将切换选项卡而不是移动地图。
有没有办法仅在该 MapView 选项卡中禁用手势?
谢谢
我从这个问题中找到了答案
万一链接失效,我在这里复制了代码:
使用这个确切的代码创建一个新类,它将阻止 MapView 接收除地图相关手势之外的任何其他手势。不要忘记在这些代码上方添加您的package
and (CTRL+SHIFT+O)import
public class CustomViewPager extends ViewPager {
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if (v instanceof MapView) {
return true;
}
return super.canScroll(v, checkV, dx, x, y);
}
}
然后main.xml
将其更改<android.support.v4.view.ViewPager ... />
为:
<com.yourPackage.CustomViewPager
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main" />
感谢 Jorge Aguilar 对这个问题的回答!