it-swarm.com.ru

Пользовательский значок дома в Action Bar Sherlock

Я пытаюсь установить пользовательский значок для домашнего значка с помощью библиотека ActionBarSherlock . Я попытался установить пользовательский макет, используя атрибут abHomeLayout в моей пользовательской теме. Но это не сработало для меня. Единственный способ, как его установить, - это установить атрибут abIcon для моего настраиваемого отрисовки, но я не могу установить некоторые горизонтальные отступы для этого отрисовки. Есть ли пример для этого или где может быть проблема с атрибутом abHomeLayout?

30
sealskej

Это работает для моей ситуации, он заменяет значок ic_launcher по умолчанию на панели действий на мой собственный. 

В вашем onCreate сделайте это:

getSupportActionBar().setIcon(R.drawable.audio_shortcut);

Или в манифесте вы можете установить логотип:

<activity>
    Android:logo="@drawable/my_custom_logo"
    ...
</activity>
40
Matthew

Это тоже прекрасно работает:

<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>

Справка: Как изменить значок «Домой» панели действий на нечто иное, чем значок приложения?

5
Brais Gabin

У меня была похожая проблема с неправильным заполнением иконки home на устройствах api <11 (т. Е. Не на полноценной панели действий платформы), а стиль abHomeLayout работал только api> 11

Мое решение состояло в том, чтобы скопировать макет abs__action_bar_home.xml из ABS в дочерний проект и вручную добавить заполнение в просмотр изображения abs__home

<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" />
0
scottyab