Как получить темную панель действий для Theme.Holo.Light.DialogWhenLarge?
Я хочу отобразить некоторые из моих действий приложения в виде белых "всплывающих окон", когда экран устройства достаточно большой. Так что я стилизую эти действия с Theme.Holo.Light.DialogWhenLarge
:
<style name="PopupActivity" parent="@android:style/Theme.Holo.Light.DialogWhenLarge"></style>
Но таким образом я получаю светлые (белые) панели действий (когда активность не отображается как диалог) из-за темы Holo Light. Я знаю, что есть Theme.Holo.Light.DarkActionBar
тема, чтобы получить белое содержимое и темную полосу, но я не могу использовать ее из-за Theme.Holo.Light.DialogWhenLarge
очевидно. Поэтому я попытался изменить свой стиль на:
<style name="PopupActivity" parent="@android:style/Theme.Holo.Light.DialogWhenLarge">
<item name="android:actionBarStyle">@android:style/Widget.Holo.ActionBar</item>
</style>
Но без результатов. Как я могу иметь Theme.Holo.Light.DialogWhenLarge
тематическая активность, но с темной панелью действий?
3 ответа
Похоже, вам просто нужно сделать копию DialogWhenLarge
в ценностях / темах:
<style name="PopupActivity" parent="@android:style/Theme.Holo.Light.DarkActionBar">
</style>
в значениях-больших / темах:
<style name="PopupActivity"
parent="@android:style/Theme.Holo.Light.DialogWhenLarge">
</style>
обратите внимание, что вы также можете использовать Theme.Holo.Light.Dialog.MinWidth
как родитель для вашей большой версии, но если бы что-то было добавлено в тему DialogWhenLarge, вы бы пропустили их.
это должно работать, но у меня нет ничего настроенного, чтобы проверить это.
Вопрос сейчас действительно очень старый, но я думаю, что у меня есть более чистый способ справиться с этим:
<style name="fullScreenDialogTheme" parent="Base.Theme.AppCompat.Light.DialogWhenLarge">
<item name="actionBarTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
Я понимаю, что это старый вопрос, но я столкнулся с той же проблемой при добавлении поддержки планшета для существующего приложения. Я также попытался использовать тему DialogWhenLarge и настроить панель действий для некоторых действий. Приложение было построено с использованием 19-й версии библиотек поддержки. Обновление до версии 22 сделало работу над пользовательским стилем.
Я использую Android Studio, и файл build.gradle был изменен с
dependencies {
compile 'com.android.support:support-v4:19.1.0'
compile 'com.android.support:appcompat-v7:19.1.0'
}
в
dependencies {
compile 'com.android.support:support-v4:22.0.0'
compile 'com.android.support:appcompat-v7:22.0.0'
}
Это также вызвало другие изменения, такие как добавление стрелки назад для навигации на панель действий, а также текст кнопки стал allCaps, но это другой вопрос.