Cuestión de gesto con mapview en la página de viewpager
La interfaz principal de mi aplicación es un viewpager donde el usuario sólo desliza las páginas horizontalmente para llegar a las distintas páginas. Una de las páginas tiene un google mapview (pegado abajo). Mi problema es que si el usuario está en la página del mapa y utiliza un gesto de diapositiva horizontal, la página se desliza a la siguiente página en lugar del mapa que se mueve hacia los lados. Es como si el viewpager está recibiendo el gesto antes del mapa.
Si el usuario es inteligente y comienza a deslizar el mapa en una dirección diagonal o vertical el mapa comienza a moverse y entonces el gesto puede continuar horizontalmente. Pero preferiría mover el mapa en lugar de la página en un simple gesto de diapositiva horizontal. La página siempre se puede deslizar con la vista de texto.
- Error invocar método virtual 'doble android.location.Location.getLatitude ()' en una referencia de objeto nulo
- Los eventos de zoom que funcionan en un androide Mapview
- Google Maps v2 Projection.toScreenLocation (...) muy lento
- ¿Cómo estima Google mi ubicación sin GPS?
- Android - Implementación de mapas v2 en el cajón de navegación
¿Hay alguna manera de hacer que esto suceda?
Gracias Gary
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ContentPanel" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/tvMAP" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Map" style="@style/bigtype" /> <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="mykeygoeshere" android:clickable="true" /> </LinearLayout>
- Dibujar círculo de cierto radio en la vista de mapa en android
- Android MapView no se carga a menos que toque en la vista del mapa
- Android :: Extendiendo MapActivity => excepción classNotFound
- ¿Hay alguna manera de invocar la navegación desde un navegador móvil?
- Cómo configurar Google Maps API v2 para mostrar mapa del mundo entero?
- Marcador v2 de la API de Google Maps de Google Maps con saltos de anclaje personalizados definidos cuando se arrastra
- Localización fuera de línea basada en la aplicación Android
- Implementación de un mapa interior
Por supuesto que hay:
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); } }
Esto hará que el mapa ignore todas las diapositivas dentro del mapa y sólo se preocupan por las diapositivas / draggs fuera del mapa. Espero eso ayude. (Hago esto ahora mismo para una webview con desplazamiento horizontal)
EDIT: Se olvidó de mencionar que en lugar de ViewPager que necesita para utilizar el CustomViewPager en yout diseño.
<com.yourpackage.CustomViewPager android:id="@+id/viewpager" android:layout_width="fill_parent" android:layout_height="fill_parent" />
Si utiliza Google Maps V2, utilice
ScrollShow.getClass (). GetPackage (). GetName (). StartsWith ("maps.") En el método canScroll :
@Override protected boolean canScroll(View scrollingView, boolean checkV, int dx, int x, int y) { if (scrollingView.getClass().getPackage().getName().startsWith("maps.")) { return true; } return super.canScroll(scrollingView, checkV, dx, x, y); }
Becase scrollingView es maps.jb cuando se usan mapas v2.
También en mi código, estas clases se utilizan:
import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment;
- ¿Cómo sabe CursorLoader con LoaderManager para enviar el cursor a un CursorAdapter?
- StatusCallback no se llama después de requestNewReadPermissions entonces requestNewPublishPermissions