Comment centrer l'icône dans la barre d'action Android
Je suis en train de centre de l'icône dans l'android barre d'action. Je suis en utilisant une mise en page personnalisée qui a un bouton sur le côté gauche, une icône dans le centre et les options de menu sur la droite.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ActionBarWrapper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageButton
android:id="@+id/slideMenuButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_menu_bookmark" />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true" >
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_centerInParent="true" />
</RelativeLayout>
</RelativeLayout>
J'ai essayé avec et sans le RelativeLayout habillage de l'ImageView. Le bouton de gauche montre bien, et je peux définir l'icône avec layout_toRightOf, mais je ne peux pas le faire centre. Quelqu'un a des idées?
Edit:
Voici le code android dans la méthode create.
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayOptions(actionBar.DISPLAY_SHOW_CUSTOM);
View cView = getLayoutInflater().inflate(R.layout.actionbar, null);
actionBar.setCustomView(cView);
source d'informationauteur smokingoyster
Vous devez vous connecter pour publier un commentaire.
D'accord. Cela devrait fonctionner. Essayez ceci(Testé l'activité normale):
Les réponses précédentes ne fonctionne pas pour moi (sur Android 4.4 dispositifs), parce que le contenant extérieur en vue de groupes de ne pas développer le avec le, de sorte que le conteneur de groupe et l'centrée intérieure logo était déjà aligné à gauche dans la barre de titre.
J'ai trouvé un modèle qui fonctionne avec la régularité d'action de la barre de menu (à droite) et indépendamment de l'activation de la régulièrement des actions de la barre de logo et le titre (sur le côté gauche). Cet exemple n'centres un logo supplémentaire.
Vous devez activer l'affichage personnalisé par cette
mais pas cette méthode (il désactive tous les autres éléments de la barre d'action).
Vous pouvez ajouter une vue personnalisée pour la barre d'action. Il suffit d'ajouter un LinearLayout comme c'est la coutume afficher et ajouter des sous-vues pour le linearlayout. J'ai utilisé cette technique pour ajouter 4 boutons dans le milieu.
Pour ajouter une vue personnalisée de l'utilisation actionBar.setCustomView(point de vue). Aussi définir l'option DISPLAY_SHOW_CUSTOM à l'aide de actionBar.setDisplayOptions.
Une fois que vous avez une vue personnalisée dans la barre, puis utiliser des procédures de mise en page pour obtenir l'effet que vous voulez. Un truc, vous pourriez utiliser serait d'avoir 3 imbriquée linéaire de dispositions et d'assigner à chacun un poids. Par exemple 1,4,1 de sorte que le centre de mise en page obtient le plus d'espace. Voici un exemple, bien sûr, vous pouvez laisser les boutons sur le côté droit de mise en page si vous voulez qu'il soit vide. Avec cette approche, vous pouvez atteindre le centre.