Подтвердить что ты не робот

Android ICS: удалить синий разделитель в ActionBar?

Я работаю над приложением, которое будет полноэкранным, но будет использовать некоторые функции ActionBar. С выпуском Ice Cream Sandwhich я вижу, что я получаю синий разделитель/разделитель линии в составе ActionBar. Обычно это было бы хорошо для согласованности, но в моем случае мне нужно удалить разделитель.

Как удалить или создать разделитель ActionBar в ICS?

Пробовал настройку настраиваемой темы с именем "android: style/Widget.Holo.ActionBar" в качестве родителя. Однако настройки, такие как ниже, не имеют эффекта

<item name="android:divider">#FFFFFF</item>
4b9b3361

Ответ 1

Графический актив, содержащий синюю нижнюю строку, является фоном представления контейнера панели действий и устанавливается при @android:drawable/ab_transparent_dark_holo при использовании темы голосовой темы по умолчанию.

Чтобы удалить эту строку, вам нужно создать собственный стиль для вашей панели действий (на основе Widget.Holo.ActionBar или Widget.Holo.Light.ActionBar (или вариантов .Solid) и установить android:background в то, что doesn ' t включить нижнюю границу:

<style name="MyTheme" parent="android:Theme.Holo">
  <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="android:Widget.Holo.ActionBar">
  <item name="android:background">@drawable/your_background_here</item>
</style>

Примечание: Головые темные/светлые бары имеют прочные и прозрачные стили; эта голубая линия появляется по умолчанию для прозрачного стиля. По умолчанию темные полоски Holo Dark прозрачны, а по умолчанию панели действий Holo Light являются сплошными.

Ответ 2

Вот простой способ удаления разделителя, работает с API 07 с помощью actionbarcompat из библиотеки поддержки:

@Override
public void onCreate(Bundle savedInstanceState) {
        //...
        getSupportActionBar().setBackgroundDrawable(
            getResources().getDrawable(R.drawable.whatever_you_want));
        //...
}  

Ответ 3

Изменение темы активности в Theme.Holo.Light.DarkActionBar удаляет синюю линию.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:windowBackground">@android:color/black</item>
    <item name="android:textColor">@android:color/white</item>
</style>

Если вам по-прежнему нужен черный фон, вы можете изменить андроид: windowBackground и /or android: textColor

Ответ 4

добавьте этот <item name="android:windowContentOverlay">@null</item> в тему приложения.