Rembourrage de la barre d’outils de l’API Android 21

Comment puis-je me débarrasser du remplissage supplémentaire dans la nouvelle barre d’outils avec Android SDK API version 21 (la bibliothèque de support)?

Je parle des flèches rouges sur cette photo: entrer la description de l'image ici

Voici le code que j’utilise:

     

Comme vous pouvez le voir, je mets tous les remplissages pertinents à 0, mais il rest encore du rembourrage autour du Spinner. Qu’est-ce que j’ai mal fait ou que dois-je faire pour me débarrasser du rembourrage supplémentaire?

Modifier Certains ont demandé pourquoi j’essayais de le faire.

Selon les spécifications de conception matérielle, le fileur devrait être 72dp du côté gauche desc

J’ai besoin de neutraliser le rembourrage que Google a mis pour y placer correctement ma roulette: desc

Modifier 2

Conformément à la réponse de Chris Bane ci-dessous, je mets contentInsetStart à 0. Pour la bibliothèque de support, vous devrez utiliser l’espace de noms de l’application:

    

J’espère que cela aide quelqu’un, ça m’a confondu pendant plusieurs jours.

L’encart gauche est provoqué par contentInsetStart la barre d’outils, qui par défaut est 16dp.

Changer à 72dp pour s’aligner sur la ligne de touche.

Mise à jour de la bibliothèque de support v24.0.0:

Pour correspondre à la spécification Material Design, il existe un atsortingbut supplémentaire contentInsetStartWithNavigation qui, par défaut, est 16dp. Changez ceci si vous avez également une icône de navigation.

La réponse ci-dessus est correcte mais il y a encore une chose qui pourrait créer des problèmes (au moins, cela a créé un problème pour moi)

J’ai utilisé ce qui suit et il ne fonctionne pas correctement sur les anciens appareils –

 android:contentInsetStart="0dp" android:contentInsetLeft="0dp" app:contentInsetLeft="0dp" app:contentInsetStart="0dp" 

L’astuce est ici, utilisez simplement ce qui suit –

 app:contentInsetLeft="0dp" app:contentInsetStart="0dp" 

et se débarrasser de –

 android:contentInsetStart="0dp" android:contentInsetLeft="0dp" 

Et maintenant, tout devrait bien fonctionner dans tous les appareils.

J’espère que cela aide.

Au cas où quelqu’un d’autre trébucherait ici … vous pouvez également définir un remplissage , par exemple:

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); int padding = 200 // padding left and right toolbar.setPadding(padding, toolbar.getPaddingTop(), padding, toolbar.getPaddingBottom()); 

Ou contentInset :

 toolbar.setContentInsetsAbsolute(toolbar.getContentInsetLeft(), 200); 

Simpley append cette deux lignes dans la barre d’outils. Ensuite, nous obtenons de nouveaux espaces latéraux supprimés bcoz par défaut il 16dp.

 android:contentInsetStart="0dp" app:contentInsetStart="0dp" 

Faites votre barre d’outils comme:

  

Vous devez append

contentInset

atsortingbut pour append de l’espacement

s’il vous plaît suivez ce lien pour plus – Conseils Android

Une combinaison de

android:padding="0dp" Dans le XML pour la barre d’outils

et

mToolbar.setContentInsetsAbsolute(0, 0) Dans le code

Cela a fonctionné pour moi.

Voici ce que j’ai fait et cela fonctionne parfaitement sur chaque version d’Android.

toolbar.xml

   android:layout_marginStart="16dp" android:gravity="left|center" android:text="Toolbar Title"  android:textColor="@color/white"  android:textSize="20sp" android:fontFamily="sans-serif-medium"/>  

MyActivity.java (Pour masquer le titre de la barre d’outils par défaut)

 getSupportActionBar().setDisplayShowTitleEnabled(false); // Hide default toolbar title 

Résultat avec Keylines illustré

entrer la description de l'image ici

Ok, donc si vous avez besoin de 72dp, ne pourriez-vous pas simplement append la différence de remplissage dans le fichier xml? De cette façon, vous conservez les insertions / rembourrages par défaut des androïdes à utiliser.

Donc: 72-16 = 56

Pour cela, ajoutez un rembourrage de 56dp pour vous mettre à un retrait total / marge de 72dp.

Ou vous pouvez simplement modifier les valeurs dans les fichiers Dimen.xml. c’est ce que je fais maintenant. Il change tout, la mise en page entière, y compris la barre d’outils lorsqu’il est implémenté dans la nouvelle manière Android appropriée.

Dimen Resource File

Le lien que j’ai ajouté montre les valeurs de Dimen à 2dp car je l’ai changé mais il était réglé par défaut à 16dp. Juste FYI…

Cela fonctionne pour moi sur mon téléphone Android 7.11:

     

note: je n’ai eu aucun succès avec padding = 0, ou contentInsetLeft = 0, ou contentInsetStart = 0

 ((Toolbar)actionBar.getCustomView().getParent()).setContentInsetsAbsolute(0,0);