当设备屏幕足够大时,我想将我的一些应用活动显示为白色“弹出窗口”。所以我使用 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
主题活动,但有一个黑暗的操作栏?
答案 0 :(得分:1)
看起来你只需要复制一次DialogWhenLarge
in values / themes:
<style name="PopupActivity" parent="@android:style/Theme.Holo.Light.DarkActionBar">
</style>
in values-large / themes:
<style name="PopupActivity"
parent="@android:style/Theme.Holo.Light.DialogWhenLarge">
</style>
请注意,您也可以使用Theme.Holo.Light.Dialog.MinWidth
作为大型版本的父级,但如果将某些内容添加到DialogWhenLarge主题中,则会错过这些内容。
应该可行,但我没有任何设置来测试它。
答案 1 :(得分:1)
问题现在真的很老了,但我想我有一个更清洁的方法来处理这个问题:
<style name="fullScreenDialogTheme" parent="Base.Theme.AppCompat.Light.DialogWhenLarge">
<item name="actionBarTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
答案 2 :(得分:0)
我意识到这是一个老问题,但在为现有应用添加平板电脑支持时遇到了同样的问题。我还尝试使用DialogWhenLarge主题和为某些活动自定义actionBar。该应用程序是使用支持库的第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,但这是另一回事。