elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ViewPager2 es lento al mostrar los Tabs
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ViewPager2 es lento al mostrar los Tabs  (Leído 2,540 veces)
MaX2

Desconectado Desconectado

Mensajes: 116


Ver Perfil
ViewPager2 es lento al mostrar los Tabs
« en: 23 Mayo 2022, 20:06 pm »

Hola, agradecería vuestra ayudada a ver si alguien sabe porque tarda tanto en mostrar las vistas de los difrentes fragment

Tengo ViewPager2 con TabLayout, para crear un menú horizontal, con un total de 12 pestañas, si deslizo el dedo por la pantalla para ir mostrando pestaña por pestaña, la vista de los fragment se muestra en un tiempo razonable, pero si en lugar de ir deslizando el dedo, si por ejemplo estoy en la pestaña 1, y selecciono la pestaña 10, pasan 8 segundos interminables hasta que se muestra, bueno da igual que sea la pestaña 10 como la 3

En el Logcat, he visto este tipo de mensaje:`

WARNING: tile memory limits exceeded, some content may not draw

Este es el código que tengo en MainActivity.java

Código:
mAdapter = new ViewPagerAdapter(getSupportFragmentManager(), getLifecycle());
 
 mAdapter.addFragment(new menu1());
 mAdapter.addFragment(new menu2());
 mAdapter.addFragment(new menu3());
 mAdapter.addFragment(new menu4());
 mAdapter.addFragment(new menu5());
 mAdapter.addFragment(new menu6());
 mAdapter.addFragment(new menu7());
 mAdapter.addFragment(new menu8());
 mAdapter.addFragment(new menu9());
 mAdapter.addFragment(new menu10());
 mAdapter.addFragment(new menu11());
 mAdapter.addFragment(new menu12());
 
 binding.viewPager2.setAdapter(mAdapter);
 
 binding.viewPager2.setOffscreenPageLimit(12-1);
 
 binding.viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback(){
     @Override
     public void onPageSelected(int position) {
         binding.tabs.selectTab(binding.tabs.getTabAt(position));
     }
 });
 
 binding.tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
     @Override
     public void onTabSelected(TabLayout.Tab tab) {
         binding.viewPager2.setCurrentItem(tab.getPosition());
     }
     @Override
     public void onTabUnselected(TabLayout.Tab tab) {
     }
     @Override
     public void onTabReselected(TabLayout.Tab tab) {
 
     }
 });

activity_main.xml

Código:
<RelativeLayout
     ....
     .... >
 
     <com.google.android.material.appbar.AppBarLayout
         android:id="@+id/appBar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
         <com.google.android.material.appbar.MaterialToolbar
             android:id="@+id/myToolbar"
             android:layout_width="match_parent"
             android:layout_height="?attr/actionBarSize"
             app:layout_scrollFlags="scroll|enterAlways" />
 
         <com.google.android.material.tabs.TabLayout
             android:id="@+id/tabs"
             android:layout_width="match_parent"
             android:layout_height="90dp"
             android:background="@color/colorPrimary"
             app:tabGravity="fill"
             app:tabIconTint="@drawable/color_icono_selector"
             app:tabIndicatorColor="#FA0707"
             app:tabIndicatorFullWidth="false"
             app:tabIndicatorHeight="6dp"
             app:tabMode="scrollable"
             app:tabSelectedTextColor="#FA0707"
             app:tabTextAppearance="@style/CustomTextAppearanceTab"
             app:tabTextColor="#FFFFFF"
             app:titleTextColor="#FFFFFF">
 
             <com.google.android.material.tabs.TabItem
                 .....
                 ..... />
 
             <com.google.android.material.tabs.TabItem
                 .....
                 ..... />
 
             <com.google.android.material.tabs.TabItem
                 .....
                 ..... />
 
         </com.google.android.material.tabs.TabLayout>
 
         <androidx.viewpager2.widget.ViewPager2
             android:id="@+id/viewPager2"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             app:layout_behavior="@string/appbar_scrolling_view_behavior" />
 
     </com.google.android.material.appbar.AppBarLayout>
 
 </RelativeLayout>

He cambiado el valor de binding.viewPager2.setOffscreenPageLimit(12-1) con diferente valores, pero sigue igual de lento al mostrar los diferentes menús


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Web. b y tabs
Programación Visual Basic
pungados 0 1,101 Último mensaje 8 Diciembre 2007, 15:49 pm
por pungados
[mod] Modificacion completa al VBAccelerator MDI Tabs!
Programación Visual Basic
el_c0c0 0 1,823 Último mensaje 15 Febrero 2010, 21:01 pm
por el_c0c0
Aplication para TABS Facebook ?
PHP
Diabliyo 1 1,631 Último mensaje 29 Diciembre 2013, 20:51 pm
por #!drvy
return chrome.tabs.executeScript
Scripting
hosck 0 1,679 Último mensaje 19 Enero 2022, 02:33 am
por hosck
Problema en TabLayout con ViewPager2
Java
MaX2 0 3,563 Último mensaje 28 Enero 2022, 21:58 pm
por MaX2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines