2016-11-18 2 views
0

J'installe vue personnalisée dans ma barre d'outils:Android: marge de droite au bouton Haut de la barre d'outils

ActionBar actionBar = getSupportActionBar(); 
View customView = getLayoutInflater().inflate(resId, null); 
actionBar.setCustomView(customView); 
actionBar.setDisplayShowCustomEnabled(true); 

Il semble bien jusqu'à ce que je permet d'activer jusqu'à bouton:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Voici les photos de la barre d'outils avec le bouton Haut et sans. J'ai ajouté une couleur grise à l'arrière-plan de ma vue personnalisée pour voir la taille réelle de l'élément.

Sans:
without

Avec:
with

Et voici une image de fenêtre Inspecteur de disposition. Il y a un espace entre le bouton Haut et la vue personnalisée.

layout inspector

+0

après votre ' xml' et utilisez 'click listner' au lieu de' getSupportActionBar(). setDisplayHomeAsUpEnabled (true); ' – sushildlh

Répondre

1

Au lieu de cela, vous devez écrire votre propre bouton Up:

<ImageButton 
    android:id="@+id/action_back" 
    style="@style/Widget.AppCompat.ActionButton" 
    android:layout_width="48dp" 
    android:layout_height="48dp" 
    android:layout_gravity="center_vertical" 
    android:onClick="onClick" 
    app:srcCompat="@drawable/ic_arrow_back_white" 
    tools:ignore="ContentDescription" /> 

android:onClick="onClick" sur votre Button et la méthode сreate dans la classe Java comme ci-dessous manière

@Override 
public void onClick(View v) { 
    NavUtils.navigateUpFromSameTask(TheoryActivity.this); 
} 
+0

Merci pour l'idée! Très simple et fonctionne .. –

+0

@ArtemMostyaev heureux de le savoir. – Ironman

+0

Veuillez regarder ma suggestion d'édition. Ce sera plus clair et aidera quelqu'un dans le futur. –