Android Onglet mise en page: onglet habillage indicateur de largeur à l'égard de l'onglet titre
Est-il de toute façon à l'envelopper onglet indicateur de largeur à l'égard de l'onglet du même nom ?
OriginalL'auteur Narayan C.R | 2016-11-08
Vous devez vous connecter pour publier un commentaire.
Oui, il est possible d'encapsuler onglet indicateur en tant que paramètre de titre de padding à 0
Cela a fonctionné. Assurez-vous de définir les éléments suivants dans XML: app:tabPadding="0dp"
Fonctionne très bien pour moi
Quelles sont les valeurs pour externalMargin et internalMargin? J'ai donné comme 0,0 son travail que si tabMode = défilement, ne travaillant pas pour le tabMode=fixe
Sa ne marche pas pour moi..j'ai besoin de la solution.Je suis à l'aide de tablayout <android.de soutien.de la conception.widget de.TabLayout android:id="@+id/sub_tabs" android:layout_width="fill_parent" app:tabBackground="@couleur/bgdarkblue" app:tabTextColor="@couleur/colorWhite" app:tabIndicatorColor="@couleur/barColor" android:thème="@style/tabTheme" app:tabPadding="0dp" android:layout_height="48dp"/> je suis l'aide de deux onglets, mais encore il remplit la moitié de la largeur....Je n'ai pas knw pourquoi est-ce comme cela.U peut donner une Solution
OriginalL'auteur leon
Si vous n'avez pas besoin de la bande à être plus petits que le texte, alors cela devrait fonctionner:
Pour des points supplémentaires, vous pouvez vérifier la taille du texte de chaque titre.
merci pour vos commentaires, pouvez-vous donner des détails sur votre configuration?
C'est un travail à la fois android et 4.4 7.0
A fonctionné pour moi! Muchas gracias.
hey , merci cela fonctionne comme un charme , mais si je veux l'indicateur de largeur moindre que le texte ??
OriginalL'auteur Erik B
Bref, la réponse est "non". Voici l'explication.
Il est privé de classe
SlidingTabStrip
dans TabLayout qui attire l'indicateurJe crois mIndicatorLeft et mIndicatorRight est ce que vous avez besoin. Ces champs sont définis dans la même classe:
où à gauche et à droite les paramètres sont calculés suivant la méthode:
Et le pire, c'est que SlidingTabStrip champ dans TabLayout est privé et finale.
Je ne vois pas comment il est possible d'obtenir ce dont vous avez besoin sans créer de totalement nouveau TabLayout.
"Lorsque j'ai mis la gravité = remplissage et remplissage de droite et de gauche pour 12" - propriétés-vous dire par là? TabLayout?
dans le xml ' <android.de soutien.de la conception.widget de.TabLayout android:id="@+id/onglets" android:layout_toRightOf="@+id/loginback" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@couleur/colorPrimary" android:layout_marginRight="20dp" _** android:paddingRight="12dp" app:tabGravity="fill" android:paddingLeft="12dp"** android:layout_marginLeft="40dp"/>'
Changement de rembourrage de TabLayout signifie que vous coupez toute la bande, qui contient de l'indicateur.
OriginalL'auteur Sviatoslav Melnychenko
Que de la bibliothèque de prise en charge 28 vous pouvez effectuer les opérations suivantes:
Vous pouvez définir un rembourrage qui affecte l'onglet indicateur.
Aussi, vous pouvez désormais le faire:
cela permettra de personnaliser la drawable comme indicateur.
exemple de la coutume drawable:
OriginalL'auteur Malek Hijazi
Une solution est simple:
Mais il fonctionne avec la dernière version de dépendance comme
OriginalL'auteur sudhakara
Je ne suis pas certaine à propos de la Version de SDK nécessaire, mais vous pouvez le faire directement dans votre fichier XML, en ajoutant le rembourrage attribut à l'aide de l'app de l'espace de noms.
Faites votre TabLayout ressemble à ceci:
Vous pouvez déplacer le
xmlns:app="http://schemas.android.com/apk/res-auto"
pour votre parent layou trop, mais c'est votre choix 🙂Merci leon pour sa réponse, qui me poussent à le faire en XML.
OriginalL'auteur Endy Silveira
J'ai essayé les 2 heures pour diverses solutions, mais aucun de ceux-ci ont un effet parfait.
Le problème réside sur le tabView du padding - même si j'ai mis son rembourrage pour tous 0,
Les différents onglets ont encore des différents rembourrage et, par conséquent, le texte à l'intérieur de son
TextView
varie en taille.Puis j'ai trouvé cette bibliothèque qui parfaitement résolu.
https://github.com/H07000223/FlycoTabLayout
@Stas Melnychenko dit, nous ne pouvons pas le faire à moins que nous ré-écrire un
TabLayout
. Et cette bibliothèque ne ré-écrire unTabLayout
...OriginalL'auteur Sira Lam
Vous pouvez le faire en utilisant les styles.
Dans la mise en page xml:
dans le styles.xml:
OriginalL'auteur Silwester
Il y a un attribut appelé tabIndicatorFullWidth à l'intérieur de android.de soutien.de la conception.widget de.TabLayout
OriginalL'auteur dplzop
Onglet habillage indicateur de largeur à l'égard de l'onglet titre et ajouter à droite du remplissage à l'aide de l'onglet titre et la marge de droite avec onglet indicateur.
OriginalL'auteur ViramP