タブ間を水平にスワイプできるテンプレートを使用しています
しかし、私のタブの 1 つはMapViewであるため、その MapView で左右にスワイプすると、マップを移動する代わりにタブが切り替わります。
そのMapViewタブでのみジェスチャを無効にする方法はありますか?
ありがとう
タブ間を水平にスワイプできるテンプレートを使用しています
しかし、私のタブの 1 つはMapViewであるため、その MapView で左右にスワイプすると、マップを移動する代わりにタブが切り替わります。
そのMapViewタブでのみジェスチャを無効にする方法はありますか?
ありがとう
この質問から答えを見つけました
リンクが無効になっている場合に備えて、ここにコードをコピーしました。
この正確なコードを使用して新しいクラスを作成すると、MapView がマップ関連のジェスチャ以外のジェスチャを受信できなくなります。package
これらのコードの上にand import
(CTRL+SHIFT+O)を追加することを忘れないでください
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" />
その質問に答えてくれた Joge Aguilar に感謝します!