当我在这里设置风格时:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
动作栏将消失。
然而,当我在此设置它时:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowActionBar">false</item>
<item name=“android:windowNoTitle">true</item>
</style>
动作栏仍然在这里。
有什么区别?
答案 0 :(得分:14)
windowActionBar
是AppCompat库中提供的属性,其中在Material主题中提供了android:windowActionBar
。
当你设置下面的代码时,操作栏就会消失,只是因为你正在使用AppCompat库并引用这个库本身提供的属性:
<item name="windowActionBar">false</item>
在其他方面,它与colorPrimary
和android:colorPrimary
属性以及所有其他类似属性相同。
例如:
我们使用了Material主题并引用android:colorPrimary
属性如下:
<style name="AppTheme" parent="android:Theme.Material.Light">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
....
....
</style>
但我们现在正在使用仅具有colorPrimary
属性的AppCompat库,以提供与较低版本的兼容性。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
...
...
</style>
答案 1 :(得分:8)
android:windowActionBar
表示棒棒糖及以上的属性。其中windowActionBar
表示所有版本,并从支持库中检索。