/ / TabLayout Indicateur diapositives très lent sur la sélection de l'onglet - Android, Android-Tablayout

TabLayout Indicateur diapositives très lent sur la sélection de l'onglet - Android, android-tablayout

J'utilise TabLayout avec deux fragments imbriqués et j'ai remarqué queLorsque l'utilisateur clique sur l'autre onglet, alors que le contenu change immédiatement, l'indicateur se déplace du premier onglet au deuxième prend littéralement 3-4 secondes.

J'ai le même comportement dans tous les appareils où j'ai essayé l'application (pas seulement Genymotion). Nexus 4 et Nexus 5X sont quelques-uns des appareils de test.

La mise en page est:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:EMVideoView="http://schemas.android.com/apk/res-auto"
android:background="@color/white"
android:clickable="true"
android:layout_width="match_parent" android:layout_height="match_parent">

<com.devbrackets.android.exomedia.EMVideoView
android:id="@+id/video_play_activity_video_view"
android:layout_width="match_parent" android:layout_height="360dp"
EMVideoView:defaultControlsEnabled="true"/>

<android.support.design.widget.TabLayout
android:id="@+id/nested_tabs" android:layout_below="@+id/video_play_activity_video_view"
android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"
app:tabMode="fixed" app:tabGravity="fill"/>

<FrameLayout android:id="@+id/fl_nested_tabs_container" android:layout_below="@+id/nested_tabs"
android:layout_width="match_parent" android:layout_height="wrap_content"/>

et le code où je change d'onglets:

@Override
public void onTabSelected(TabLayout.Tab tab) {
if (isCommentsFragmentSelected) {
isCommentsFragmentSelected = false;
getChildFragmentManager()
.beginTransaction()
.replace(R.id.fl_nested_tabs_container, PollsFragment.newInstance())
.commit();
} else {
isCommentsFragmentSelected = true;
getChildFragmentManager()
.beginTransaction()
.replace(R.id.fl_nested_tabs_container, CommentsFragment.newInstance())
.commit();
}

}

Réponses:

0 pour la réponse № 1

J'utilisais également des fragments imbriqués dans une disposition à trois onglets avec un ViewPager. Réglage du limite de pages hors écran résolu le problème de chargement lent pour moi.

viewPager.setOffscreenPageLimit(2);