ActionBarSherlock – Как установить заполнение значка каждой панели действий?

Как сделать значки панели действий с помощью ActionBarSherlock ближе или дальше друг от друга? Что-то вроде android:layout_marginLeftили android:paddingRight?

Если я просто добавлю значки на панель действий, они будут дальше, чем на скриншоте Soundhound ниже:

SoundHound

my themes.xml:

<style name="Theme.AstraTheme_Purple" parent="@style/Theme.Sherlock">
    <item name="actionBarStyle">@style/Widget.AstraTheme_Purple.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.AstraTheme_Purple.ActionBar</item>

    <item name="actionButtonStyle">@style/Widget.AstraTheme_Purple.ActionButton</item>
    <item name="android:actionButtonStyle">@style/Widget.AstraTheme_Purple.ActionButton</item>
</style>

<style name="Widget.AstraTheme_Purple.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="android:background">@drawable/purple_bar</item>
    <item name="background">@drawable/purple_bar</item>
</style>

<style name="Widget.AstraTheme_Purple.ActionButton" parent="Widget.Sherlock.ActionButton">
    <item name="android:minWidth">50dip</item>
</style>


person Alex Styl    schedule 25.05.2012    source источник


Ответы (1)


<style name="AppTheme" parent="Theme.Sherlock">
    <item name="actionButtonStyle">@style/MyActionButtonStyle</item>
    <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
</style>

<style name="MyActionButtonStyle" parent="Widget.Sherlock.ActionButton">
    <item name="android:minWidth">32dip</item>
    <item name="android:padding">0dip</item>
</style>

Значение по умолчанию android:minWidth для кнопок ActionBar равно 56dip. Не забудьте установить @style/AppTheme в качестве темы для Activity.

person Matthias Robbers    schedule 29.05.2012
comment
Я попытался включить actionButtonStyle в свою существующую тему и даже создал новую тему, чтобы проверить ее (и применил ее через Manifest и через setTheme в методе onCreate), но ничего не изменилось. Я что-то пропустил? Я отредактировал вопрос с моими темами.xml (я включил имя элемента = android: actionButtonStyle, не знаю, нужно это или нет). Пожалуйста, проверьте это - person Alex Styl; 31.05.2012
comment
странный. Я попытался создать новый проект и установить там новую тему. Я даже перекачал ABS на случай, если что-то не так с библиотекой (у меня была 4.0.1, а теперь 4.1), но все равно ничего. Я пробовал запускать на реальных устройствах и эмуляторах, и ничего не меняется... Может быть, это просто мой конец, и мне нужно изменить что-то еще, кроме того, что я написал выше... В любом случае, большое спасибо за ответ. - person Alex Styl; 05.06.2012
comment
@matthias Как насчет настройки размера значка кнопки действия? тоже можно? - person RLEE; 29.04.2013
comment
Я не уверен. Но почему бы не включить файлы с правильными размерами? - person Matthias Robbers; 30.04.2013
comment
Оно работает. Но это работает только для уровня 11 и выше. Если это так, почему я должен использовать ActionbarSherlock? - person Bagusflyer; 04.10.2013
comment
@bagusflyer: Если вы скопируете стили сверху, они также будут работать для API ‹11 с ActionBarSherlock. ABS предназначен только для использования панели действий на API ‹11. - person Matthias Robbers; 07.10.2013
comment
‹item name=android:actionButtonStyle›@style/MyActionButtonStyle‹/item› требует API 11 - person Kaloyan Roussev; 12.10.2013
comment
@Дж. Ковальски: Вот почему есть дополнительный <item name="actionButtonStyle"> для ниже, чем API 11. То, о чем вы говорите, — это всего лишь предупреждение о ворсе. Чтобы быть абсолютно правильным, вам нужно создать res-v11/styles.xml с такими атрибутами, как android:actionButtonStyle. Но вы также можете игнорировать предупреждение lint, потому что Android также игнорирует такие атрибуты в старых API. - person Matthias Robbers; 12.10.2013