Android ICS: удалить синий разделитель в ActionBar?
Я работаю над приложением, которое будет полноэкранным, но будет использовать некоторые функции ActionBar. С выпуском Ice Cream Sandwhich я вижу, что я получаю синий разделитель/разделитель линии в составе ActionBar. Обычно это было бы хорошо для согласованности, но в моем случае мне нужно удалить разделитель.
Как удалить или создать разделитель ActionBar в ICS?
Пробовал настройку настраиваемой темы с именем "android: style/Widget.Holo.ActionBar" в качестве родителя.
Однако настройки, такие как ниже, не имеют эффекта
<item name="android:divider">#FFFFFF</item>
Ответы
Ответ 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>
в тему приложения.