Soutien Android Design TabLayout: Centre de Gravité et le Mode de Défilement

Je suis en train d'utiliser le nouveau Design TabLayout dans mon projet. Je veux que la mise en page pour s'adapter à toute taille de l'écran et de l'orientation, mais il peut être vu correctement en une seule orientation.

Je fais affaire avec la Gravité et le Mode de réglage de mes tabLayout comme:

    tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
    tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);

Donc je pense que si il n'y a pas de place, la tabLayout est scrollable, mais si il ya de la place, il est centré.

Par les guides:

public static final int GRAVITY_CENTER Gravité utilisé pour établir le
les onglets dans le centre de la TabLayout.

public static final int GRAVITY_FILL Gravité utilisé pour remplir l'
TabLayout autant que possible. Cette option ne prend effet que lorsque utilisé
avec MODE_FIXED.

public static final int MODE_FIXED Fixe onglets afficher tous les onglets
en même temps et sont mieux utilisés avec un contenu qui bénéficie rapide
pivots entre les onglets. Le nombre maximum d'onglets est limitée par la
vue de la largeur. Fixe les onglets ont la même largeur, basée sur la plus grande onglet
label.

public static final int MODE_SCROLLABLE Défilement d'affichage des onglets d'un
sous-ensemble d'onglets, à un moment donné, et peut contenir plus de l'onglet étiquettes
et un plus grand nombre d'onglets. Ils sont les mieux utilisé pour l'exploration des contextes
dans les interfaces tactiles, lorsque les utilisateurs n'ont pas besoin de comparer directement l'onglet
les étiquettes.

Donc GRAVITY_FILL est compatible uniquement avec les MODE_FIXED mais, à ne pas spécifier quoi que ce soit pour GRAVITY_CENTER, j'attends qu'il soit compatible avec MODE_SCROLLABLE, mais c'est ce que je obtenir de l'aide GRAVITY_CENTER et MODE_SCROLLABLE

Soutien Android Design TabLayout: Centre de Gravité et le Mode de Défilement

C'est donc à l'aide de DÉFILEMENT dans les deux orientations, mais il n'est pas à l'aide de GRAVITY_CENTER.

C'est ce que j'attends pour les paysages, mais à avoir de cela, j'ai besoin de MODE_FIXED, donc ce que je reçois dans le portrait:

Soutien Android Design TabLayout: Centre de Gravité et le Mode de Défilement

Pourquoi est GRAVITY_CENTER ne travaillant pas pour le DÉFILEMENT si le tabLayout s'adapte à l'écran?
Est-il possible de définir la gravité et de la mode de manière dynamique (et voir ce que je suis dans l'attente d')?

Merci beaucoup!

ÉDITÉ: C'est la Mise en page de mon TabLayout:

<android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:background="@color/orange_pager"
    android:layout_height="wrap_content" />
  • avez-vous trouvé une solution à cela? Je suis confronté au même problème.
  • La seule façon que j'ai trouvée a été d'obtenir la taille de vos onglets (manuellement), puis configurer les paramètres de mise en page dinamically selon s'il convient ou non.
  • pouvez-vous poster un exemple de code pour la solution que vous utilisez?
  • Je sais que ma réponse n'est pas bon pour la logique, mais il m'aide. Mettre des espaces avant et après le texte. Ensuite, il sera déplacé. dans les deux modes.