J'essaie de définir une icône personnalisée pour l'icône de la maison à l'aide de Bibliothèque ActionBarSherlock . J'ai essayé de définir une présentation personnalisée à l'aide de l'attribut abHomeLayout
dans mon thème personnalisé. Mais cela n'a pas fonctionné pour moi. La seule façon, pour le définir, consiste à définir l'attribut abIcon
pour mon dessin personnalisable, mais je ne peux pas définir de remplissage horizontal pour ce dessinable. Existe-t-il un exemple pour cela ou où pourrait-il y avoir un problème avec l'attribut abHomeLayout
?
Cela fonctionne dans mon cas, il remplace l'icône ic_launcher par défaut dans la barre d'actions par celle personnalisée.
Dans votre onCreate, faites ceci:
getSupportActionBar().setIcon(R.drawable.audio_shortcut);
Ou dans le manifeste, vous pouvez définir le logo:
<activity>
Android:logo="@drawable/my_custom_logo"
...
</activity>
Cela fonctionne très bien aussi:
<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="Android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
<item name="icon">@drawable/my_custom_logo</item>
<item name="Android:icon">@drawable/my_custom_logo</item>
</style>
J'avais un problème similaire avec un remplissage incorrect de l'icône de la maison sur les périphériques api <11 (c'est-à-dire pas la barre d'action de la plate-forme à part entière) et le style abHomeLayout
ne fonctionnait que par api> 11
Ma solution a été de copier la disposition abs__action_bar_home.xml
de ABS vers un projet enfant et d'ajouter manuellement un remplissage à la abs__home
imageview
<ImageView
Android:id="@+id/abs__home"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:paddingTop="@dimen/action_bar_home_icon_top_bottom_padding"
Android:paddingBottom="@dimen/action_bar_home_icon_top_bottom_padding"
Android:paddingLeft="@dimen/action_bar_home_icon_left_right_padding"
Android:paddingRight="@dimen/action_bar_home_icon_left_right_padding"
Android:scaleType="centerInside" />