Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android ViewPager con ScrollViews con ViewPagers dentro de ScrollViews

Así que tengo mi actividad que tiene un ViewPager principal y dentro del ViewPager cada página tiene todo el contenido como ScrollView y dentro de ese ScrollView hay otro ViewPager.

Esto puede sonar loco, pero básicamente el ViewPager exterior contiene artículos de noticias, y los artículos son largos por lo que hay un ScrollView, y dentro de ScrollView hay varias imágenes en miniatura que pueden pasar a través también.

  • Android ImageButton - determina qué recurso está configurado actualmente
  • Android obtener Bitmap o sonido de los activos
  • Decodificación Raw H264 corriente en android?
  • ¿Existe un Centro de Juegos Android?
  • Android GridView con categorías?
  • Solo observable con varios suscriptores
  • He probado algunos diferentes ViewPages personalizados con diferentes intercepciones de eventos táctiles, pero no parecen conseguirlo perfecto. O bien absorberá completamente todos los eventos táctiles de modo que el desplazamiento vertical del ScrollView no funcione en esa zona, o será realmente difícil / difícil conseguir que el interior se desplace horizontalmente.

    ¿Alguien tiene una solución perfecta?

  • Emulador de Android no se carga en netbeans
  • Falta el objeto android.os.handler de Android Studio
  • Uso del tema Material en la vista previa L
  • Tecla Atrás en Fragmento añadido mediante programación lleva a contenedor vacío
  • ¿Soporta Android la progresión no lineal en gradientes?
  • No se puede comprobar si AlarmManager ha configurado la alarma
  • One Solution collect form web for “Android ViewPager con ScrollViews con ViewPagers dentro de ScrollViews”

    En caso de que alguien quiera conocer mi solución:

    public class CustomScrollView extends ScrollView { private GestureDetector mGestureDetector; View.OnTouchListener mGestureListener; public CustomScrollView(Context context, AttributeSet attrs) { super(context, attrs); mGestureDetector = new GestureDetector(context, new YScrollDetector()); setFadingEdgeLength(0); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev); } // Return false if we're scrolling in the x direction class YScrollDetector extends SimpleOnGestureListener { @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { if (Math.abs(distanceY) > Math.abs(distanceX)) { return true; } return false; } } } 

    Y el ViewPager más externo es:

     public class NestingViewPager extends ViewPager { public NestingViewPager(final Context context, final AttributeSet attrs) { super(context, attrs); } public NestingViewPager(final Context context) { super(context); } @Override protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) { if (v != this && v instanceof ViewPager) { return true; } return super.canScroll(v, checkV, dx, x, y); } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.